Attribution

Which UGC video drove the sale? How to track sales by creator video

Ad platforms report by ad, not by video, and each counts by its own rules. To credit sales to the video itself, you need your own tracking and one consistent rule.

By Ad Army teamPublished Updated 4 min read

Why your ad platforms disagree

If you add up the purchases each platform reports, you can get more than you actually sold. That's not a bug. Each platform counts conversions it can connect to its own ads, inside its own attribution window, and a customer who saw your video on TikTok and clicked a Meta ad can be counted by both.

The other problem is structure. Platforms report per ad. When the same creator video runs in five ads across three ad sets and two platforms, its results are scattered across all of them, and nobody adds them back together.

So the question "which video sold?" needs its own measurement, sitting above the platforms.

Ad Army Reports panel comparing first-party last-click results (1,683 conversions, $79K revenue, 2.01x ROAS) with platform-reported results (2,606 conversions, $124K revenue, 3.15x ROAS) for the same spend, using sample data from the Ad Army demo (opens the full-size image in a new tab)
Same spend, two answers: what the site recorded under last click, next to what the ad platforms claim. Sample data from the Ad Army demo.

Track the video, not just the ad

The method is simple to describe, and the discipline is in doing it every time.

  1. Give each video a unique code when it's approved, before it goes into any ad.
  2. Put the code where the click carries it, in the ad's URL parameters or the ad name, so every click names the video.
  3. Capture it first-party on your site, so the code survives to checkout instead of living only in the ad platform.
  4. Match conversions back to the code with one rule and one lookback window across every platform.
  5. Roll results up by video, not just by ad, so reuse across campaigns adds up instead of splitting.

Attribution models in plain terms

An attribution model is just the rule for who gets credit when a buyer touched more than one ad.

ModelWho gets the creditGood for
Last clickThe last ad clicked before the purchaseDeciding what to scale; the easiest to act on
First clickThe first ad clicked in the journeySeeing which videos start journeys
LinearEvery clicked ad, equallyA balanced view of a long journey
Time decayMore credit to clicks closer to the saleLong consideration cycles
Position basedMost credit to the first and last clickValuing both the opener and the closer

Google's own definition of last click is that it gives all credit for the conversion to the last-clicked ad (Google Ads: About attribution models). The same page explains that Google's default for most conversion actions is a data-driven model instead, which is one reason Google's numbers won't match a last-click report.

Metrics that explain why a video wins

Sales tell you which video won. These tell you why, and they work even before you have many purchases.

MetricHow it's calculatedWhat it tells you
Hook rate3-second plays / impressions on Meta; 2-second views / impressions on TikTokDid the opening stop the scroll?
Hold rateThruPlays / 3-second plays on Meta; 6-second / 2-second views on TikTokDid it keep people once they stopped?
ROASAttributed revenue / ad spendDid the attention turn into money?

These ratios are common conventions rather than platform-defined metrics, and they are how Ad Army calculates them. The inputs come from each platform: TikTok defines a 2-second video view as a play that runs at least two seconds in an impression session, and a 6-second view similarly, with short videos counting when played in full (TikTok: Video play metrics). Because the platforms measure differently, compare hook rates within a platform rather than across them.

A high hook rate with a weak hold rate usually means the opening works and the middle loses people. A weak hook rate means the best part of the video is never seen. That's where a new hook variation pays off.

The limits of last click

Last click is a decision tool, not the whole truth.

  • It undercounts videos that start journeys and don't finish them. Compare against first click before you cut a video that opens a lot of journeys.
  • It only sees clicks. People who watched and later typed your URL show as unattributed.
  • It doesn't prove the ad caused the sale. For that you need holdout or incrementality tests.

Use it to rank videos against each other under the same rule, which is the question you're actually asking.

Ad Army Journeys view listing the order of ad platforms people clicked before converting, such as Meta Ads then TikTok Ads, with conversions and revenue for each path (opens the full-size image in a new tab)
Paths that cross platforms are where last click hands all the credit to the final ad. Sample data from the Ad Army demo.

How Ad Army tracks it

Every video you approve at Ad Army arrives with its own tracking code. First-party tracking on your site credits each sale, sign-up or install to the exact video and its creator across Meta, TikTok, YouTube and Google Ads, LinkedIn and AppLovin, with app installs matched through AppsFlyer. The default is last-click attribution with a 28 day lookback you can change, and you can switch to first click, linear, time decay or position based in Reports without re-tracking anything. It runs alongside your Meta Pixel, and with the Conversions API on, both send one shared event id so Meta can deduplicate the two. Each video shows its hook rate, hold rate and ROAS next to its sales.

FAQ

  • What is last-click attribution?

    A rule that gives all the credit for a sale to the last ad the buyer clicked before purchasing. It's simple, consistent and easy to act on, but it undercounts ads that start journeys.

  • Why don't my attribution numbers match Meta's?

    Each platform counts conversions by its own rules and window, and can count the same sale another platform also counts. A last-click report under one rule gives each sale to a single ad click: the most recent tagged one.

  • What is a good hook rate for UGC?

    There's no universal benchmark, and platforms measure it differently. Compare your videos against each other on the same platform, and use the gaps to decide which hooks to keep testing.

  • Does Ad Army replace my Meta Pixel?

    No. It runs alongside it. With the Conversions API on, Ad Army and your browser Pixel share one event id so Meta counts each sale once.

Sources

  1. About attribution models, Google Ads Help. Retrieved .
  2. Video play metrics, TikTok Ads Manager Help Center. Last updated November 2025. Retrieved .
  3. Attribution, Ad Army. Retrieved .

Rather not do this yourself?

Send one request. We cast and manage the creators, you review finished videos, and you pay a flat price only for the ones you approve.

Which UGC video drove the sale? Tracking sales per video