Skip to content

Revenue attribution

See which channels bring paying customers, not only visitors.

twelvebit joins each payment to the visit that led to it. You see revenue by channel, campaign, landing page and country, next to the traffic.

How it works

Three steps from payment to channel.

  1. Connect the payment provider

    In the site's revenue settings, connect Stripe, Polar, Lemon Squeezy, Paddle or Dodo Payments. twelvebit then receives each payment, renewal and refund. Shopify and WooCommerce stores connect the store instead.

  2. Send the visitor with the checkout

    When your server creates a checkout, it reads the _tb_vid and _tb_sid cookies and puts them in the checkout metadata. The provider sends them back with the payment. Your coding agent can add this with one prompt.

  3. Read revenue next to traffic

    Each payment is credited to a visit, with its channel, referrer, campaign, landing page and country. Refunds count against the same visit.

Providers

Payment providers that work today.

Payment providers and how they connect
FeatureHow payments arriveWhat joins the payment to the visit
StripeConnect in revenue settingsVisitor and session IDs in the checkout metadata. Stripe Checkout and Payment Links also work without metadata.
PolarConnect in revenue settingsVisitor and session IDs in the checkout metadata. Polar checkouts also work without metadata.
Lemon SqueezyConnect in revenue settingsVisitor and session IDs in the checkout data.
PaddleConnect in revenue settingsVisitor and session IDs in the checkout data.
Dodo PaymentsConnect in revenue settingsVisitor and session IDs in the checkout metadata.
Shopify, WooCommerceConnect the storeThe store sends the orders.
Any other providerPOST /api/v1/paymentsYour server sends each payment with the visitor ID.

The model

How the credit is given.

The default model is last touch: the visit before the payment gets the credit. For each payment, twelvebit picks the credited visit in this order:

  1. The session in the checkout metadata.
  2. The visitor's latest visit that started before the payment.
  3. A visitor who identified with the same email as the customer.
  4. For renewals and refunds: the customer's earlier attributed payment.

Channel, referrer, campaign and page reports count each payment once, so the rows add up to the attributed revenue. The revenue page can also switch to first touch: the person's first visit. Funnels show the payments that people made after each step.

What it does not do

twelvebit does not split one payment across many visits (multi-touch models). It answers one question well: which visit brought this customer.

Privacy

The tracker stores a random visitor ID and a random visit ID in first-party cookies, or nothing in cookieless mode. A payment carries the amount, the currency, the product and the customer ID from your provider. IP addresses are not stored. Data is processed in the EU. See security and data.

Setup details for each provider are in the revenue docs. Your agent can also ask revenue questions through the MCP server. For first touch, last touch, windows and why Shopify, GA4 and ad platforms disagree, read ecommerce revenue attribution, explained.

Paste one prompt. Watch the first events arrive.

Start free. Your agent does the setup, and you see revenue next to the traffic that brought it.

14-day free trial · cancel any time