Payments

Creem sales attribution explained, step by step

Ownlytics team · · 6 min read

Creem sales attribution means linking each Creem payment back to the visit that brought the buyer. With Ownlytics you connect Creem with a key, and every sale, subscription and refund is credited to a post, search or referrer.

yourapp.comToday7d30d9 online
Visitors3,619+42.1%
Revenue$2,226+67.0%
Conversion0.41%+8.4%
Revenue/visitor$0.11+17.6%
1.4k7000
SourceVisitorsSalesRevenue
Ggoogle.com1,9006$294
Xx.com2,4005$245
@newsletter6403$147
Ynews.ycombinator.com8102$98
↗Direct4201$49

Fig.Creem sales by traffic source. Sample data, not a real site.

This post explains the mechanics in plain terms, so you know what is happening to your numbers and which parts you can trust.

What does "attribution" actually mean here?

A sale has two halves. One half lives in Creem: the amount, the product, the customer, the date. The other half lives on your site: the visit, with its referrer, UTM tags and pages viewed. Attribution is the act of joining them.

The join key is a first-party visitor id. The Ownlytics tracking script creates it as cookies on your own domain. When that id reaches the payment, the sale is credited to that visit's source and campaign. If it does not reach the payment, there are fallbacks, described below. For the broader idea, see revenue per visitor, the metric that beats traffic.

How do you connect Creem?

Connect Creem per website with a key, from that website's revenue attribution setup. Each website connects its own payment account. You can send every payment from a dedicated account to one site, or use a shared account and split by product. Past sales are imported when you connect.

The step-by-step for each provider lives in the revenue attribution docs, and the Creem analytics page is the short overview. We recommend reading the Creem part of the docs for the exact way your checkout passes the visitor id, because that is where setups differ.

A general rule that applies to all four connected providers: payment links are tagged by the script automatically, server-created checkouts need the two ids passed as metadata, and a success page that carries the provider's checkout id lets the script link a returning buyer.

In what order does Ownlytics find the buyer?

When a sale arrives, it is linked to a visitor by trying these in order:

  1. The visitor id in the checkout metadata.
  2. The thank-you page (a URL parameter carrying the payment id).
  3. An email the visitor gave you through identify.
  4. Checkout timing, as a last resort.

Timing works like this: if exactly one visitor clicked a checkout link for that provider in the three hours before the sale, the sale is credited to them. If several did, Ownlytics waits 30 minutes and credits the only one who came back from the payment page, or the only one who clicked in the last 30 minutes. Otherwise the sale stays unattributed, with a note saying why.

Timing matches are labeled estimated on the Revenue page, in Telegram alerts and for AI agents. Real metadata or a thank-you page visit replaces an estimate when it arrives. You can switch estimates off per website under Settings, Revenue attribution, and a button on the Revenue page re-checks older unattributed sales.

V
Visitor 4821First seen 12 days ago · India · desktop
  1. Read “Setup guide”x.comNov 1 · 3 min on page
  2. Came back from a newsletternewsletterNov 6 · read pricing
  3. Opened checkoutNov 12 · 14:02
  4. Paid $49Dodo PaymentsCredited to the newsletter visit (last non-direct)

Fig.One Creem sale and its visit. Sample data, not a real site.

Which visit gets the credit?

The default is last non-direct: the most recent visit with a real source. A visit counted as a checkout return, meaning the buyer came back from the payment page, never takes credit from an earlier visit. You can change the model per website:

If you are unsure, read first touch vs last touch attribution for solo founders. The model changes who gets credit, not how much you earned.

How are subscriptions and refunds handled?

Every payment is classified as a one-time purchase, a subscription's first payment, an upgrade (a plan change or more seats), or a renewal. Renewals inherit the source of the first payment. Refunds come off the same source, so a channel that sends buyers who refund does not keep its full credit. A free trial's first paid charge counts as a new sale and goes to whoever started the trial.

Example (made-up numbers for illustration)

A founder sells a $12/month plan through Creem. Three customers arrive in January.

CustomerFirst sourcePayments by MarchRefunded
AOrganic search3 x $12none
BNewsletter3 x $12none
CSocial post1 x $12$12

Credit follows the first payment. Search and newsletter each carry $36. The social post carries $0 after the refund, even though it looked equal in January. Only a view that follows renewals and refunds back to the first source shows that.

What should you check if sales are unattributed?

Run this checklist in order.

  1. Does the tracking script load on every page the buyer visits, including the page with the buy button?
  2. Does your checkout pass the visitor and session ids as metadata, or does it go through a tagged payment link?
  3. Do buyers return to a page on your site after paying? Add the checkout id to the success URL if the provider supports it.
  4. Is the sale marked estimated? If so, it was matched by timing only. Fix the metadata.
  5. Did the buyer pay from another device? That is a new visitor unless an email links them.

Limits to keep in mind

Attribution is only as good as the visit the script saw. A buyer who pays from a link posted somewhere that never touched your site may not be creditable to a visit. And with few sales, any split by source is noisy. Do not rewrite your strategy on three data points.

At a glance

QuestionAnswer
What connects Creem?A key, per website
What is the join key?First-party visitor id
Default modelLast non-direct
RenewalsInherit the first payment's source
RefundsCome off the same source
Estimated salesMatched by timing only, labeled as such

If you want to see how a connected site displays all this, the live demo is the quickest look. For a refund-focused view, read refunds and attribution: why net revenue matters.

FAQ

How do I connect Creem to Ownlytics?

Connect it per website with a key in the revenue attribution setup. Choose either every payment in the account or specific products. The docs describe each provider.

Does it track Creem refunds?

Yes. Refunds are shown against the same source that was credited with the sale.

What does "estimated" mean on a sale?

It means the buyer was matched by checkout timing because no visitor id arrived. Checkout metadata or a thank-you page visit replaces the estimate if it shows up later.

Can I change which visit gets credit?

Yes. The model is set per website in Settings: last non-direct (default), first touch or last touch.

See the live demo · View pricing

Keep reading