Integrations·Payments

Know which channel each Polar order came from.

Connect Polar with an organization access token. From then on, purchases, renewals and refunds reach Spreelytics by themselves, each tied to the channel that sent the buyer.

polar · payments · 30d

purchase · Paid social$59
purchase · Organic search$129
purchase · Direct$29

revenue by channel · last-touch · 30-day window

Organic search 34%Paid social 28%Direct 21%

What it does

Your Polar revenue, by channel.

Orders arrive as purchase events and flow into goals, the overview and the acquisition reports.

Orders on their own

Connecting creates the webhook in your Polar organization. After that, each order arrives by itself. You do not need to send revenue events.

  • Purchases and renewals
  • Refunds, partial included
  • Counted once, even when Polar retries

Attributed to a channel

Create the checkout through Polar’s API with the visitor id in its metadata. Polar copies it onto the order, which ties the order to the visit that led to it.

  • spreelytics_visitor_id in the checkout metadata
  • Copied onto the order by Polar
  • Last-touch or linear, 1–90 day window

One reporting currency

Charge in as many currencies as you like. Each payment is converted once into your reporting currency at the rate for the day it happened, then frozen.

  • Converted at that day’s rate
  • Past revenue never moves
  • The original amount is kept

How it works

Use it in three steps.

  1. 01

    Connect Polar

    In Settings → Revenue, paste an organization access token that can create webhooks and read your orders and refunds. The organization is read from the token.

  2. 02

    Pass the visitor id

    When you create a checkout through the API, put Spreelytics.getVisitorId() in its metadata as spreelytics_visitor_id.

  3. 03

    Read revenue by channel

    From the moment you connect, payments land on the Revenue page, with MRR and ARR for subscriptions, and as purchase events in goals, the overview and the acquisition reports.

FAQ

Questions about this one.

What people ask before they switch it on.

What key does it need?

An organization access token with the webhooks:write, orders:read and refunds:read scopes, pasted once in Settings → Revenue. The write scope sets up the webhook. The two read scopes let you import orders from before you connected. The organization is read from the token, so there is nothing else to enter.

Where does the visitor id go?

In the metadata of the checkout you create through Polar’s API, under spreelytics_visitor_id. Add spreelytics_session_id beside it if you like. Polar copies it onto the order.

What if a payment has no visitor id?

It is still recorded and counts toward your totals. It just cannot be traced to a channel. The Channels list counts it as Direct and the Sources list as Direct/None. The URLs and UTM lists leave it out.

Do payments count toward my event allowance?

Each payment counts as one event, the same as a custom event. Refunds do not count. Payments you import from before you connected do not count either.

Can I send payments from my own server as well?

Yes, for payments Polar does not see. The revenue API is in the docs. If you also send a Polar payment that way under a different id, it is counted twice.

See your own numbers today.

Free up to 100k events a month · no credit card

Contact

Tell us what you need.

A real person reads these. We usually reply within one working day.

Or email us directly at contact@spreelytics.com.