It used to be timing. But after talking to a buddy who used to play online for his job he showed me how people exploit this tell (just as you might live) by checking as quickly as possible with a monster to throw people off. Yeah most people who insta check are selecting "check/fold" option before their turn but if they suddenly take longer on turn or river or play back at you, they were tricking you.
I try to avoid using the auto check/fold option so I can have full control of my timing.
Betting patterns can be a tell as well but it's tricky too. I saw a guy who bet like 8-10x every hand online preflop last night, a few of us cleaned him out eventually because it was blatantly obvious he was playing ATC. Lots of thinking players counter this by just varying their betting amounts sometimes. I also try to keep an eye on how someone responds to bets on say wet flush draw boards. If they seem to just be calling down and a flush misses, I'll bet about 1/2 pot on river and usually steal it. I used to just check it down if I wasn't sure where I was at only to have like a pair of 9s and get beat by someone who had like 107 suited and paired their 10. But with a missed flush board and higher cards on board you can usually rep a higher pair or 2p. But then again you'll know quickly if the player is a calling station if they call your semi-bluffs you can skip trying to steal pots off them as they can't find the fold button.
The chatbox is generally the BEST source of tells IMO. Especially detecting tilt. Sure some players will fake tilt in chat to throw you off but if they're interacting with you and debating you on a play, they're distracted and you can use that to your advantage.
TL;DR: IMO timing is easily exploitable, betting patterns is probably a good way to get some info, but chat box can be a treasure trove of tells.