Integration Guides

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

  1. From your home feed, click your site name and choose Admin.
  2. In the Admin sidebar, open Settings > Analytics.
  3. Click Edit next to Third-party code.
  4. Paste the snippet into the Website tracking code field.
  5. 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.js returns 200 and that POST requests 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.Conversion is 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

On this page