4 ms·
How does the point and click UI generate event targets? At my work we use Pendo which sounds very similar to Freshpaint. Pendo’s UI generates CSS selectors. Pro
by vosper 7y ago
How does the point and click UI generate event targets? At my work we use Pendo which sounds very similar to Freshpaint. Pendo’s UI generates CSS selectors. Problem is that we use CSS modules and our class names include a hash, so they change frequently. Also our classes aren’t designed to communicate the semantics the Product team is trying to capture, and there’s also no way for Pendo to know that the selector it generated uniquely captures whatever event the user wants - it’s entirely possible that the same selector could occur on a different screen.
We’ve been asked to “stabilize” our class names for the product team, so that Pendo doesn’t “break”, but we have resisted as fundamentally this is not what CSS is meant for. Nonetheless we now have an invisible, undocumented coupling between our application internals and Pendo.
IMO the only way this kind of event tracking can be done right is if developers and Product communicate and the devs, who understand the code, put the tracking in the right place.
I’d encourage you to bless a “data-freshpaint” attribute as the preferred way to link events to your system, if the way it currently works is CSS selectors.
- zebnyc 7y agoJesus, events tied to css-selectors sounds like a recipe for disaster
- malisper 7y agoIt's worked perfectly fine for Heap. Especially since Heap and Freshpaint capture every event out of the the box, if tracking ever breaks due to something like a site redesign, you can recover all the data you missed out on.
- malisper 7y ago> I’d encourage you to bless a “data-freshpaint” attribute as the preferred way to link events to your system. If you want to go through with this, you can do this already with CSS classes. You can have classes like "freshpaint-login", "freshpaint-checkout", etc. > IMO the only way this kind of event tracking can be done right is if developers and Product communicate and the devs, who understand the code, put the tracking in the right place. If you have the resources to do this, I highly recommend you setup manual tracking. In Freshpaint, we give you the ability to fall back to manual event tracking if you want it. The thing is most teams don't have the resources to write tracking code for everything, so a lot of the time it just doesn't get done. We commonly hear it takes 3-6 months to get Segment fully setup, and even then you have to constantly write new tracking code as you launch new features.
- vosper 7y agoTrue, you could dedicate CSS classes like that. I’m really talking about separation of concerns: CSS is for styling, not communicating user intentions to external systems. A data attribute is better, and you could program the selector-creator to prefer those attributes if it can find them. That doesn’t help with after-the-fact attribution, though. That’s where using existing CSS classes really shines. With the huge proviso that you have to be sure the CSS selector you’re using really captures (and only captures) the action you’re trying to track. I suspect it’s easy to get this wrong and end up with skewed analytics.