Podia
Add Rybbit analytics to your Podia site
Podia has a Third-party code setting under Settings > Analytics that adds the snippet to every public page of your site, including checkout. Podia inserts custom code just before the closing </body> tag rather than in <head>; the Rybbit script loads with defer and works the same from either position.
Third-party code is available on Podia's Mover and Shaker plans. On the free plan the Third-party code option is not shown.
Get your tracking snippet
In your Rybbit dashboard, open Site Settings → Tracking Script and copy your snippet. It looks like this:
<script src="https://app.rybbit.io/api/script.js?siteId=YOUR_SITE_ID" defer></script>YOUR_SITE_ID is the numeric ID of your site. If you self-host Rybbit, app.rybbit.io is the domain of your own instance.
Add the snippet to Podia
- From your home feed, click your site name and choose Admin.
- In the Admin sidebar, open Settings > Analytics.
- Click Edit next to Third-party code.
- Paste the snippet into the Website tracking code field.
- Click Save. The code is live as soon as it is saved; there is no separate publish step.
The website tracking code runs on every public page of your site and on checkout pages. It does not run inside logged-in areas such as the customer dashboard, product viewer or community spaces.
Verify installation
Open your live site in a new tab and click through a few pages. Within a few seconds the pageviews appear in the Rybbit dashboard.
If nothing shows up:
- View the page source and search for
script.js?siteId=to confirm the snippet is on the page. - Open the browser Network tab and check that
script.jsreturns200and thatPOSTrequests go to/api/track. - Disable ad blockers, or set up a proxy so the script loads from your own domain.
- See the script troubleshooting guide for other common causes.
Track custom events
Purchase
Podia has a second field, Conversion tracking code, directly below the website tracking code. Code in that field runs only on the thank-you page after a purchase or membership signup, and Podia exposes the order as a Podia.Conversion object on that page (once per order; it is gone after a refresh).
Paste this into Conversion tracking code to send a purchase event with the order details:
<script>
(function () {
var c = window.Podia && window.Podia.Conversion;
if (!c) return;
var payload = {
product: c.object.name,
order_id: c.object.order_id,
value: c.revenue,
currency: c.currency
};
var start = Date.now();
(function send() {
if (window.rybbit && typeof window.rybbit.event === "function") {
return window.rybbit.event("purchase", payload);
}
if (Date.now() - start < 8000) setTimeout(send, 150);
})();
})();
</script>The short polling loop is there because Podia runs the conversion code before the deferred tracking script has finished loading. revenue is 0 for free products and free membership plans, so filter on value in the dashboard if you only want paid orders.
Troubleshooting
- No Third-party code option: the site is on the free plan. Third-party code requires Mover or Shaker.
- No pageviews while you test: Podia does not output tracking code when you are logged in to your own Podia account. Test in a private window, or log out first.
- Logged-in member pages are missing: expected. Custom code runs only on public pages and checkout, not in the customer dashboard, product viewer or community.
- Duplicate purchase events:
Podia.Conversionis only present on the first load of the thank-you page, so a refresh does not resend. If you see duplicates, make sure the event script is in Conversion tracking code only and not also in Website tracking code.
Next steps
- Track custom events such as signups, purchases and button clicks.
- Identify users to connect sessions to accounts.
- Proxy the script through your own domain to bypass ad blockers.
- Script attributes let you skip or mask URLs and tag events.