Conversion attribution is the rule that decides which click, ad or platform gets credit for a lead or a sale. An attribution model answers "which touchpoint deserves the credit", and an attribution window answers "how long after a click or an impression a conversion still counts as a result of the ad". Almost every discrepancy between the ad account, the tracker and the CPA network grows from here.
A media buyer meets attribution not in theory but at the moment when, say, Facebook shows 40 leads, the tracker 31 and the network 28 with 19 approved. Let us look at where this staircase comes from and which number is right.
What attribution is and why you need it
A person's path to a purchase is rarely straight. They may see an ad in the feed, click a different one a day later, come back via retargeting in the evening and only then submit a lead. Each of these events is a touchpoint. Attribution splits one conversion between them.
The rule determines:
- which campaign looks profitable and which loses money;
- which ads the platform's algorithm will spend budget on;
- which number you show the client or your team lead.
In affiliate marketing on CPA offers the path is usually short: click, landing page, lead. So a simple model is enough for a media buyer's own reports. But ad platforms count differently, and you need to keep that in mind when comparing numbers.
Attribution models
| Model | Who gets the conversion | When it fits |
|---|---|---|
| Last click | The last click before the conversion | Short path, pay per action, CPA |
| First click | The first touchpoint | Evaluating channels that bring new people |
| Linear | All touchpoints equally | Long path, many channels, no priority |
| Time decay | More to touchpoints closer to the conversion | Long sales cycles where the last week matters |
| Position-based (U-shaped) | More to the first and last, the rest to the middle | When both acquisition and closing matter |
| Data-driven | By contribution the algorithm calculated on your data | Large conversion volumes in one system |
Last click attribution
Last click is the most common model in tracking. The whole conversion is credited to the click after which the person took the action. In affiliate marketing it is also the only model a CPA network pays by: your click ID is passed into the offer link, and the postback comes back with exactly that ID. How this works technically is covered in click ID and sub ID.
The model's weakness is that it does not see who "warmed up" the person. For brands with a long cycle this is critical; for an ad to offer funnel it usually is not.
First click attribution
Credit goes to the first touchpoint. Useful for understanding which channels bring a new audience. Rare in affiliate marketing: the first touch often does not go through your tracker at all.
Linear attribution model
Every touchpoint gets an equal share. With four clicks, each gets a quarter of the conversion. Fair but blurry: weak touchpoints get as much as decisive ones.
Data-driven attribution
Data-driven attribution is a model in which the platform calculates each touchpoint's contribution itself, comparing the paths of people who converted with those who did not. In Google Ads it is the default for many conversion actions. Its limits are obvious: the model only sees touchpoints inside its own ecosystem and works as a black box. You cannot check its logic, only the result.
Attribution window: click and view
An attribution window is the period after a touchpoint during which a conversion is credited to it. There are usually two:
- Click window: the person clicked the ad and converted within N days.
- View window (view-through): the person saw the ad, did not click, but converted within N hours or days.
Default values differ between platforms and change over time: Meta usually uses several days after a click plus a short window after a view, while in Google Ads the click window is set for each conversion action separately. Check the current options in the ad account settings themselves.
Tip. The window should match the decision time in your vertical. A free trial lead is submitted in minutes, an expensive purchase takes days. Setting 28 days on an impulse offer means crediting the ad with random conversions.
Why view-through conversions inflate results
View-through conversions are the most controversial part of attribution. The person may have glimpsed the ad and then come to the site from search, a bookmark or a friend's link. The platform still credits itself with the lead. The tracker will not have this conversion: there was no click through your link.
Why platform, tracker and CPA network numbers do not match
Each system answers its own question, so the numbers will never be identical. The main reasons for the discrepancy:
| Reason | Ad platform | Tracker | CPA network |
|---|---|---|---|
| What is counted | Events that reached the platform | Conversions with a matched click ID | Leads accepted by the network |
| Attribution model | Its own, often data-driven | Last click | Last click by your ID |
| View-through conversions | Yes | No | No |
| Conversion date | Often impression or click date | Click date or received date | Lead date, status changes later |
| Status | Event as received | Lead, hold, approved, rejected | Final approval |
| Bots and duplicates | Partly filtered | Depends on filtering | Cut by the network's checks |
| Modeling | Fills in lost events | No | No |
Add technical losses on top: a pixel blocked in the browser, a click ID lost on a redirect, different report time zones. More on how the pixel and the postback lose data is in postback vs pixel.
Click date or conversion date
A separate trap is which day revenue belongs to. If someone clicked on Monday and the approval arrived on Thursday, a "by click date" report puts the revenue on Monday, while a "by received date" log puts it on Thursday. Reports for the same period then show different numbers, even though both are correct.
For payback calculations the click date is the right one: the spend happened on Monday, so the revenue should land there too. Otherwise daily ROI will jump around. How to calculate profit and ROI correctly is covered in how to calculate campaign ROI.
What to do about the discrepancy
You cannot get a perfect match. The goal is a stable and explainable discrepancy.
- Choose a source of truth for money. In affiliate marketing that is your tracker with network data: only they know the real payout and approval. The ad account is the source of truth for spend and for optimization.
- Compare like with like. The same period, time zone, the same date type (click or conversion) and the same status (leads with leads, not leads with approvals).
- Separate view-through conversions. In the ad account you can show columns by window separately and compare only clicks with the tracker.
- Watch the range. Say your platform usually shows 15–20% more than the tracker. If one day it shows twice as much, something broke: a parameter got lost, the domain changed, the network stopped sending postbacks.
- Send conversions back. The more completely the platform receives server events with its own click ID, the closer its picture gets to yours. See the article on sending conversions to ad platforms.
- Filter bots before the tracker. Bots inflate clicks and understate CR in the tracker, while the platform partly does not count them. How to cut them out is explained in how to filter bot traffic.
Attribution when sending conversions to the platform
When you send a conversion via Conversions API or an offline upload, the platform applies its own model and window to it. If the lead arrived after the click window, the ad account will not count it, even though you sent it. So for offers with a long hold there is a choice: send the lead right away (fast, but with junk) or the approval later (accurate, but at risk of falling outside the window). Good practice is to send an early signal and adjust the final value once the approval arrives, if the platform supports that.
Attribution by platform: what to watch
- Meta counts both post-click and post-view conversions by default. When comparing with the tracker, look at clicks only. More in the article on Facebook Ads tracking.
- Google Ads sets the model and window per conversion action. An offline conversion must arrive within the click window. Details on gclid and imports are in the piece on Google Ads tracking.
- TikTok also counts view-through conversions and uses its own window; compare clicks with ttclid against the tracker.
- Push, pop and native attribute almost always by click only and only through your tracker; network reports are limited.
How attribution works in ArtisanClo
As a tracker, ArtisanClo follows a scheme that makes sense for affiliate marketing: a conversion is credited to the click whose ID came back in the postback from the affiliate network, your site or an external tracker. No modeling and no view-through conversions, only clicks that went through the flow's link.
- Revenue is assigned to the click date. In Reports, profit and ROI are calculated where the spend happened.
- The conversion log shows conversions by Received date by default, but can be switched to Click date, and then the numbers match the reports. The choice is kept in the page address and in the export.
- Hold is not part of revenue. The On hold column shows payouts the network is still checking, separately.
- Duplicates are cut by the uniqueness window. A repeat lead from the same visitor via another click within the window is recorded as Trash marked as a duplicate and does not replace the first one.
- Sending back to the platform: a postback to the source or directly to Meta, TikTok and Google Ads with your keys; each conversion and status is sent once, and you choose which statuses to report.
All tracker features are on the features page.
Summary
- Conversion attribution decides who gets credit for a lead; the attribution window decides how long after a click or impression it counts.
- For affiliate marketing on CPA offers the working model is last click by your click ID: that is what the network pays by.
- Platforms count view-through conversions and model losses, so they always show more than the tracker.
- Compare the same dates, statuses and windows, and keep the discrepancy stable.
How to bring attribution, spend and revenue into one picture from click to money is covered in the article on end-to-end analytics, and setting up the tracking itself in the piece on conversion tracking.



