I do the inverse of your productive goal – beeminder.com/d/smk – where I tag pings as “smk” (as in “smack, get back to work”) if TagTime catches me distracted from what I wanted to be doing. It’s a little too fuzzy a criterion (I’m glad to hear you have precisely defined criteria for yours) but it’s a valuable nudge in the right direction with no real overhead since I’m already using TagTime.
And then I have project-specific do-more goals, mainly beeminder.com/d/meta. (PSA: When I derail on that the money goes to a user and I currently have a 3% chance 1% chance (ping just now!) of derailing if I stay completely focused till midnight. Having beemergencies on TagTime-based goals is stressful and unnerving and I love it because it forces focus so well. See also tminder.meteor.com.)
@bee’s best trick for beeminding productivity is tocks, which works because it automatically posts the intended task to our dev hipchat channel and if TagTime catches you distracted before you’re done it sends a -2 to Beeminder. Other people seem to beemind pomodoros by less elaborate means.