I'm still working out when to tack too.
I started to use a tacktick from this summer onwards. Just to see that when I feel a shift it is actually there.
In very light air or very wind and wavy conditions I wait until it is a really big shift (like 10 to 15 degrees), because you loose too much time tacking.
In conditions where you tack easily and get speed more easy I might tack between 5 and 10.
All depends if you are far from the mark or not, where I expect more wind, where there is clean air, ... All these are most of the time more important then shifts.
As Matt says sometimes you can see the shift on the water. To my opinion these are mostly short shifts and you shouldn't really tack on them.
Finally if you expect more wind on a certain side of the course, most of the times it is better to go for more or better wind (unless it is a 20° shift ofcourse).
Finally never sail to the layline in the beginning of your tack if you don't know what is going to happen. Then you can always take the shift.
Where I sail (Northsea) current is mostly more important then shifts. Also here shifts have a pattern, so you can sail a couple of minutes and tack with every shift everytime. When sailing on lakes the shifts will be less oscilating but more influenced by the buildings, ... close to shore.