The one-identifier idea
The post lives on one surface (X, LinkedIn, TikTok) and the sale happens on another (Stripe, Gumroad, Shopify). The two never talk, so the link between “this post” and “this payment” is normally lost. seenpaid makes one id survive the whole journey:cp_tid, the seenpaid tracking id.
The chain, step by step
1
A tracked link is minted
When you publish, seenpaid replaces your URL with
go.seenpaid.com/r/<id> (redirect mode) or appends ?cp_tid=<id> to your own URL (own-URL mode). The id is unique to that post and platform. On Instagram and TikTok the tracked link goes on your bio page.2
A click is recorded
In redirect mode the
/r/<id> hop logs the click and forwards the visitor to your page with cp_tid in the URL. In own-URL mode the pixel on your page reports the click.3
The id is kept on your site
The pixel stores
cp_tid first-party, in both a cookie and localStorage, so it survives a visitor who lands on your homepage, browses to pricing, and buys later. It then attaches the id to your Stripe checkout as client_reference_id. For a Payment Link opened straight from the tracked link, no pixel is needed.4
A payment fires
Your payment provider sends seenpaid a webhook for the completed payment: Checkout Session, Payment Link, direct charge or subscription invoice on Stripe, or the equivalent sale event on Gumroad, Lemon Squeezy, Whop, Shopify, Paddle, Polar or Dodo Payments.
5
The sale is matched to the post
seenpaid reads the id, finds the click it belongs to, and finds the post behind it. The revenue now belongs to that post.
The reporting window
Results summarises a rolling window of 7, 30 or 90 days (30 by default). Totals count only matched payments and clicks inside the window; “vs previous period” compares against the equal-length window just before it.Why some rows say Direct or Unknown
- Direct: a click with no referrer (typed URL, in-app browser, stripped referrer). Still a real, attributed click.
- Unknown: seenpaid couldn’t resolve that dimension (no geolocation, unrecognised device).
- None: the link carried no UTM tag for that field.
What counts as revenue
Completed checkouts and payment links, direct charges, recurring subscription invoices. Refunds and chargebacks are subtracted back out, so a post’s earnings reflect money you kept.Honest by design
seenpaid never invents a match. A payment with no tracking id, or one that doesn’t resolve to a click, is recorded as revenue but left unattributed, not credited to a random post. There is no “probable” tier based on referrers, time windows or fingerprinting; a modelled number beside a real one would make the real one doubtful. The Sales traced to a post figure on Results shows exactly what share of your payments was traceable.Privacy
- First-party only.
cp_tidis stored on your own domain; seenpaid uses no third-party cookies and no cross-site tracking network. - The pixel does nothing on a direct visit. No tracked link, no id, nothing to store.
- The matching field is an opaque id, not personal data. seenpaid does not guess a buyer from their email.
Track your sales
The one tag that carries cp_tid into checkout.
Connect a revenue source
Stripe and seven other payment tools.