skyroclip
CreatorsPublished 3 min read

Tracking sales from TikTok, Shorts and Reels clips

Why third-party cookies no longer cut it, and how to attribute each sale to the right clipper with a tracked link, a first-party cookie and a server postback.

Paying clippers per conversion means knowing, for every sale, which clip drove it. On paper it’s easy: the clipper shares a link, someone clicks and buys. In practice, between the click inside the TikTok app and the payment on your site, a lot can break the trail.

Here’s how Skyroclip ties a sale to the right clipper, and what you need to install.

Classic affiliate tracking drops a cookie at click time, then reads it back at purchase time. The problem: that cookie belongs to the affiliate platform’s domain, not yours. On your site, it’s a third-party cookie, and browsers block those more and more (Safari and Firefox by default, Chrome increasingly so).

The result: some sales are never attributed. The creator underpays, the clipper loses out, and nobody trusts the numbers anymore.

The journey of a click on Skyroclip

  1. The short link. Each clipper has their own link, like skyroclip.com/r/K7PM2QX, in their bio or description.
  2. Recording the click. On click, Skyroclip records the visit (campaign, clipper, country, device), filters bots, and never stores the IP address in plain text.
  3. The redirect. The visitor lands on your page with a click ID in the URL: https://yoursite.com/offer?skc=….
  4. The first-party cookie. The Skyroclip script on your site reads that ID and stores it in a cookie on your own domain, for the campaign’s attribution window. It’s a first-party cookie: browsers don’t block it the way they block third-party ones.
  5. The conversion. On your confirmation page, the script reports the purchase or signup with the click ID.

What you need to install

On every page of your site, one line (your key is shown in your campaign):

<script src="https://skyroclip.com/t/sdk.js" data-key="YOUR_KEY" data-days="30" async></script>

On the confirmation page, after the purchase:

skyroclip.track("purchase", { value: 49.90, orderId: "ORDER-123" });

value is used for percentage payouts. orderId prevents counting the same order twice, for example if the page is reloaded. For a signup, use skyroclip.track("lead", { orderId: "…" }).

Server postback: the most reliable option

The script runs in the browser, so an ad blocker can stop it. To never lose a sale, your server can notify Skyroclip directly:

  1. in the browser, get the ID with skyroclip.clickId() and pass it to your server, for example in your order or payment metadata;
  2. once the payment is confirmed, your server calls:
https://skyroclip.com/t/postback?click_id=…&event=purchase&value=49.90&order_id=ORDER-123&secret=YOUR_SECRET

The secret is specific to your campaign and visible only to you. Never put it in your page’s code.

Mobile apps

An app install goes through the App Store or Google Play, where no cookie survives. You need a mobile measurement partner such as AppsFlyer or Adjust. The idea:

  • in your campaign, set your measurement link as the landing page, with {click_id} where the ID should go;
  • Skyroclip replaces {click_id} on every click;
  • configure your measurement partner to call the Skyroclip postback on every install, with that ID.

How fraud is kept in check

  • Bots filtered: clicks from automated agents are flagged and earn nothing.
  • Deduplication: the same order is only counted once.
  • Attribution window: a sale made too long after the click isn’t attributed.
  • Dispute window: you can reject a refunded or suspicious conversion before it’s paid, and the amount goes back into your budget.
  • Capped budget: you can never spend more than you funded.

Key takeaways

Reliable conversion tracking rests on three building blocks: a tracked link that records the click, a first-party cookie on your domain, and ideally a server postback that doesn’t depend on the browser. With all three, each clipper is paid for the sales they really bring, and you only pay for real results.

Read next