Attribution models explained

Plain-English definitions and worked examples of Ordinary's four attribution models — first-click, last-click, linear, and time-decay.

Ordinary Written by The Ordinary Team · Updated

Attribution models explained

An attribution model is a rule for assigning credit across the marketing touchpoints a customer had before they bought. Different models answer different business questions; no one model is “right.”

Ordinary supports four, two on every plan and two on Starter and higher.

The four models

First-click (all plans)

Give 100% of the credit for the order to the first touch the customer had with your brand.

  • Answers: “Which channel introduces new customers to my brand?”
  • Best for evaluating top-of-funnel awareness channels — podcasts, influencers, organic content.
  • Limitation: over-credits channels whose real job is “seed the impression” and lets the closing channels look undervalued.

Last-click (all plans — default)

Give 100% credit to the last touch before the order.

  • Answers: “Which channel closes sales?”
  • Best for evaluating performance channels — paid search, retargeting, email reactivation.
  • Limitation: under-credits awareness; 100% of credit to the channel that happened to be last makes “direct” wildly overweighted.

Linear (Starter and higher)

Spread credit evenly across every touchpoint.

  • Answers: “Of all my channels, which show up most often in a customer’s journey?”
  • Best when you have many touches per order and don’t want either the first or the last to dominate.
  • Limitation: treats a throwaway banner impression as equal to the serious last-click search ad.

Time-decay (Starter and higher)

Weight recent touches higher than older ones. The closer a touch was to the order, the more credit it gets.

  • Answers: “Which channels drive urgency and closing?”
  • Best for fast-moving categories where older sessions had little actual influence on the purchase.
  • Limitation: still under-credits pure-awareness channels where influence may have been weeks ago.

Worked example

A customer’s journey, in order:

  1. Day -10: clicks a Meta ad (utm_source=facebook, medium=paid)
  2. Day -8: clicks an Instagram influencer link (utm_source=instagram, medium=influencer)
  3. Day -3: clicks an email from you (utm_source=email, medium=email)
  4. Day 0: places the order ($100)

Credit distribution by model:

ModelFacebookInstagramEmail
First-click$100$0$0
Last-click$0$0$100
Linear$33$33$34
Time-decay$12$24$64

Time-decay weights the most recent touches most heavily and decays older touches smoothly — so a touch from this morning counts more than one from two weeks ago.

Which model should I use?

  • If you’re starting out and spend mostly on performance — Last-click (default) is probably fine.
  • If you run brand campaigns (podcasts, YouTube sponsorships, influencer) — compare First-click vs. Last-click. If a channel is huge on First-click and tiny on Last-click, that channel is seeding customers who close elsewhere.
  • If you want a balanced view — Linear.
  • If your typical customer journey is <2 weeks — Time-decay.

Most teams end up checking two or three models for different planning questions and settling on one for reporting consistency.

Getting clean inputs into the model

Every model in this article relies on Ordinary being able to identify which touch is “Facebook campaign X” or “Google campaign Y” when a customer lands on your store. The identification comes from URL parameters on the click — utm_* and platform-specific click identifiers (fbclid for Meta, gclid for Google).

Two things help the model produce numbers you trust:

  1. Use the recommended URL-tag template on Meta — Settings → Meta CAPI shows a template that includes both utm_* and direct campaign / ad-set / ad identifiers. Pasted into Meta’s “URL parameters” field, this guarantees Ordinary can attribute every click back to the exact ad even if the visitor’s UTMs get mangled by a redirect.
  2. Leave Google’s auto-tagging on — Google adds gclid to every click automatically. As long as you haven’t disabled auto-tagging, Ordinary can match Google clicks to your campaigns regardless of UTM hygiene.

If your attribution numbers look directionally wrong — channel “Direct” looks too big, or paid channels look too small — bad URL tagging is usually the cause. The Attribution reports § Cleaner Meta attribution with the URL-tag template section walks through the fix.

What each model does NOT model

  • View-through attribution — someone seeing your ad without clicking. Ordinary is click-based only.
  • Incrementality — whether the customer would have bought anyway without the ad. Attribution models assume every touch mattered.
  • Offline touchpoints — TV, podcast ads, packaging inserts. Not on the Ordinary pixel path.

For incrementality, run an experiment — Ordinary’s built-in A/B testing (variants with a randomized control) measures the causal lift attribution can’t. See A/B testing and experiments.

Did this answer your question?

Thanks for your feedback! 🙌

Related articles