Guides
Things I had to work out while adding analytics to my own plugins, written down so you do not have to. Most of it applies whatever tool you end up using.
Measuring a plugin
- Google Analytics in a Figma plugin: why it breaks and what to do instead
The plugin UI runs in a null-origin iframe with no cookies, so gtag.js fails. What the Measurement Protocol gives you, what it costs you, and the shape of a tool built for the sandbox.
- How to track usage of a Figma plugin
Which events are worth sending, where to call them in a plugin, how to name them so the numbers stay comparable, and what the manifest needs.
- Retention for Figma plugins: DAU, MAU, stickiness and week-one return
What each retention number means for a tool people open a few times a week, how tode computes them, and how to read a drop without panicking.
- Installs are not usage: what the Community page does not tell you
The Community page counts installs and likes. It cannot say how many people ran your plugin this week, which feature they used, or whether they came back.
- What a Figma plugin can and cannot know about its users
The Plugin API exposes a user id, a name, the editor and the mode, and nothing else. What that means for counting users, for privacy, and for the text in your Community listing.
tode compared with other tools
Each page is about one tool: what it takes to run it inside a plugin, what you get, and when it is the better choice.
- Mixpanel in a Figma plugin, compared with tode
Mixpanel works inside a plugin once you turn persistence off and identify users yourself. When its reports are worth that setup, and when a smaller tool is the better fit.
- Google Analytics 4 in a Figma plugin, compared with tode
GA4 is free and familiar, and most of it is built around pages and cookies that a plugin does not have. A side-by-side on what you get from each.
- PostHog in a Figma plugin, compared with tode
PostHog runs in the plugin iframe with memory persistence and brings funnels, flags and replay. What that buys a plugin developer, and what it asks in return.