Stickybeak Docs Dashboard Get early access

Goals and revenue

Paddle

Paddle analytics in Stickybeak records completed Paddle Billing and Paddle.js v2 transactions from the checkout callback.

Paddle conversion tracking

<script src="https://cdn.paddle.com/paddle/v2/paddle.js"></script>
<script>
  Paddle.Initialize({
    token: "YOUR_CLIENT_SIDE_TOKEN",
    eventCallback: function (event) {
      if (event.name !== "checkout.completed") return;
      window.stickybeak("purchase", {
        revenue: event.data.totals.total,
        currency: event.data.currency_code,
        order_id: event.data.transaction_id,
      });
    },
  });
</script>
  • totals.total is already in normal units and includes tax. Do not divide it.
  • Use totals.subtotal for before-tax reporting.
  • The txn_… transaction ID prevents duplicates.

If Paddle redirects to a successUrl, do not send again there. Sandbox purchases on your live domain still count as real Stickybeak orders. Renewals, plan changes and refunds are not recorded.