Skip to content
NORTHFELL · ILLUSTRATIVEMETA SAW 440 · COUNTED 1,000META SAW 440 · MISSED 560GA4 710 · ESTIMATES INSIDESHOPIFY 1,000 · UNATTRIBUTED 370CLICKFALL · COUNTINGSTEP 1/3 · DNSSTEP 2/3 · TAGSSTEP 3/3 · LIVEMETA ADS · VISITS 40,000 · EVERY ONE COUNTEDMETA ADS · SAID NO 14,800 VISITS · NEVER SENTMETA ADS · SAID YES 25,200 · SAID NO 14,800COUNTED 1,000 · ESTIMATED 0REVENUE £86,000 · 1,000 ORDERSREPLAY 02:41 · FROM 14:00:12SENT 630 · RECEIPTS 630META SAW 440 → LEARNS FROM 630META OPTIMISING ON 630META ROAS 1.9 → 4.3NORTHFELL · 1,000 COUNTED
  1. // 00 — the gap

    Meta saw 440 sales from your ads.Clickfall counted 1,000.

    Same shop. Same week. Same ads.

    Illustrative. The same gap as one of our own sites: Meta reported 44 for every 100 store clicks we counted (27 Sept – 9 Oct 2026, one Ads Manager export).
    clickfallhub · northfell.co.uk
    // one week · Illustrative
    440Meta saw
    1,000Clickfall counted
  2. // 01 — who’s counting

    Meta only counts what its pixel sees.

    Ad blockers, Safari and declined cookies stop it. Those sales go missing.

    Illustrative · Meta: the pixel is affected by ad blockers and browser issues (Meta Business Help Center, About Conversions API)
    the Meta pixel · one weekIllustrative
    Meta pixel · one week

    Sales seen by the pixel

    1,000 sales · a dot is 20
    Ad blockerstops the pixelSafarilimits its cookiesDeclined cookiesno yes, no pixel
    // meta pixel440sales seen560go missing · grey
  3. // 01 — who’s counting

    GA4 guesses the sales it can’t see.

    It mixes estimates into your reports without marking which numbers.

    Illustrative · Google Analytics Help, answer 11161109: modelled data is blended in; an icon marks the report, not the number
    GA4 · Advertising · ConversionsIllustrative
    GA4 · Advertising

    Conversions · last 7 days

    Purchases710Includes estimated data

    Which part is a count? The report doesn’t say.

  4. // 01 — who’s counting

    Shopify counts every order. Not every source.

    Declined cookies hide which ad brought the sale.

    Illustrative · Shopify Help Center: with a cookie banner on, session data is collected only after consent (14 Oct 2026)
    Shopify · OrdersIllustrative
    Shopify

    Orders · last 7 days

    1,000 orders · 370 unattributed
    OrderTotalSource
    #1042£86.00Meta ad
    #1043£86.00Google
    #1044£86.00Meta ad
    #1045£86.00Unattributed
    #1046£86.00Email
    #1047£86.00Meta ad

    With a cookie banner on, a declined visit leaves no session to attribute. The order counts. Its source is gone.

  5. // 02 — the fix

    So count it yourself, on your own domain.

    First-party: loaded from your website, stored in your own database.

    Illustrative · Scorecard: Shopify Help Center, Google Analytics Help, Meta Business Help Center, checked 14 Oct 2026
    two ways to countIllustrative
    Clickfall · how it counts

    Data path

    GA4browser→google serversGoogle’s servers · Google’s model
    Clickfallbrowser→t.northfell.co.uk→your hubyour domain · your database · every number labelled
    // who counts what
    Sales from your adsMeta pixelGA4ShopifyClickfall
    Counts every sale✗ est.✗ est.✓✓
    Knows which ad earned it, even when cookies are declined✗✗✗✓ UK
    Shows what's real and what's estimated✗✗✓ counts✓
    Sends the missing sales back to your adsIn build—G. AdsMeta ✓✓ 4
  6. // 03 — setupLive

    Three steps. Then it counts.

    Built to install in 15 minutes. We set it up with you.

    Illustrative · 15 min is the target; no customer install has been timed

    Install

    One DNS record and four tags, on northfell.co.uk. Illustrative

    Add one DNS recordat your DNS host
    t.northfell.co.uk.   CNAME   edge.clickfall.co.uk.
    Record found ✓

    A subdomain of your own site: the hub counts on northfell.co.uk, not on ours.

    Paste four tagsin the head, every page
    1. <script src="https://t.northfell.co.uk/js/consent.js"></script>banner
    2. <script src="https://t.northfell.co.uk/js/t.js" defer></script>count
    3. <script src="https://t.northfell.co.uk/js/cta.js" defer></script>clicks
    4. <script src="https://t.northfell.co.uk/js/rp.js" defer></script>replay

    They load from your own subdomain. Nothing from a third party.

    Your hub goes livechecked for you
    • ✓We can see your sitefrom your browser and from the edge
    • ✓First page view14:02:31
    • ✓Third-party requestsnone
    // the tags
    • Loads from your domaint.northfell.co.uk, not ours
    • Under 2 KBdeferred, after your page has shown
  7. // 04 — every visitLive

    Every visit counted, with the channel it came from.

    Even with cookies declined. We keep where they came from, not who they are.

    Illustrative

    Live

    Every visit from the ads, as it lands. A said-no keeps its channel and nothing else. Illustrative

    From Meta ads, this weekcounted · visits
    40,000
    • Said yesobserved25,200
    • Said nocounted14,800

    Every visit counted, whatever its answer to the banner. Only a yes is followed page by page.

    The last visits, with their channelcounted
    TimeChannelPageBanner
    14:02:01Meta/said yes
    14:02:09Metacounted, not followedsaid no
    14:02:31Google Ads/basketsaid yes
    14:03:02TikTok/said yes
    14:03:40Metacounted, not followedsaid no
    14:04:12Meta/jacketssaid yes
    14:04:58Microsoft Adscounted, not followedsaid no
    14:05:20Google Ads/hatssaid yes
    14:06:03Meta/jackets/fell-shellsaid yes
  8. // 05 — cookie answersPreview

    Declined cookies? Still counted. Never sent to ads.

    UK law allows counting. Sending to ads still needs a yes.

    UK: Data (Use and Access) Act 2025, in force Feb 2026. EU visitors need consent first.

    Consent

    Every answer to the banner from Meta ads' visits, with its notice. Illustrative

  9. // 05 — cookie answersPreview

    Every cookie answer, recorded.

    Accepted or declined, the time, and the banner they saw.

    Illustrative
  10. // 06 — real vs estimatedPreview

    Real counts. Estimates only where you choose.

    Every estimate is marked, so a guess never passes as a sale.

    Illustrative · The estimate is the hub’s own rule: off by default, labelled, never added to a count, never sent

    Compare

    Sales from Meta ads this week, each figure by where it comes from. Illustrative

    Sales from Meta ads · one weekthree kinds
    counted · from payments1,000

    Every sale, from your payments. A count, nothing else.

    GA4 · blended710

    Estimates mixed in. Which part, it doesn’t say.

    estimated hereOffuntil you switch it on

    Marked on every figure it touches. Never added to a count, never sent.

    On every card, its kind
    • countedseen and counted by the hub
    • observedan answer or an event, as it happened
    • from paymentsthe shop's own payment records
    • platform saysan ad platform's own report
    • estimatedoff, and labelled when on
  11. // 07 — every sale

    Every sale. And the ad that earned it.

    Taken from your payments, not a browser tag. Refunds come off.

    Illustrative

    Sales

    Every paid order, from the shop's own webhook. Illustrative

    Orders from Meta adsfrom payments
    1,000

    This week, from the shop's webhook. Meta's own count: 440.

    Revenue from Meta ads
    from payments£86,000
    The latest orders, and the ad behind eachfrom payments
    1. #1042£86Meta14:03:44Meta ad · Autumn sale→/jackets/fell-shell→basket→paid
    2. #1043£86Google Ads14:21:09Google Ads→/hats→basket→paid
    3. #1044£86Meta14:40:52Meta ad · Autumn sale→/jackets→basket→paid
    4. #1038−£86Meta15:02:30Meta ad · Autumn sale→/jackets→paid→refunded

    Taken from the payment, joined to the visit that brought it. The refund comes off the total.

  12. // 08 — replayPreview

    Watch the visit back. See why they left.

    Recording starts only after cookies are accepted.

    Illustrative

    Journeys

    People who said yes, followed page by page, and watchable. Every field masked. Illustrative

    • …4821Meta6 steps
    • …7310Meta4 steps
    • …5562Google Ads3 steps
    • …2207TikTok5 steps
    • …9184Meta2 steps
    • …6403Google Ads7 steps
    // replay · visit #4821 · maskedAccepted · 14:00:1202:4101:56
    northfell.co.uk/jackets/fell-shell
    NORTHFELLJacketsTrousersLayersHatsBasket
    Winter rangeBuilt for the fell, not the car park.
    • Fell Shell Jacket£86
    • Ridge Down Gilet£169
    • Crag Bib Trousers£249
    • Summit Beanie£29
    NORTHFELLJacketsTrousersLayersHatsBasket
    JacketsFell Shell Jacket£86Add to basketimg.size-guide
    Added to basket · Fell Shell Jacket
    NORTHFELLCheckoutBasket (1)
    Checkout · 1 item · £86EmailmaskedDelivery addressCardPay £86
    Rage click · img.size-guide · 6 this weekleft at /checkout
    not recorded: before cookies were acceptedpage · /page · /jackets/fell-shelladd to basketrage clickcheckoutleft
  13. // 09 — send it backIn build

    Now send the sales back.

    Illustrative

    Ads

    What was counted, what was sent back, and what Meta reported. Illustrative

    Meta ads · salesthis week
    • You countedfrom payments1,000
    • Said yes to adsobserved630
    • Sent to Metacounted630
    • Meta reportedplatform says440

    Only a yes is sent. The 370 from a no are counted and kept in this hub.

    Order #1042 · £86 · sent backreceipts
    1. MetaPurchase200 ✓14:03:44.204
    2. Google Adspurchase200 ✓14:03:44.318
    3. TikTokCompletePayment200 ✓14:03:44.442
    4. Microsoft Adspurchase200 ✓14:03:44.590
    event ID
    evt_01J9X3K7Q2
    platform
    Meta
    HTTP
    200
    consent
    yes
    time
    14:09:12

    Server to server, with a hashed email and the ad's click id. Meta also gets its own browser id. No IP.

  14. // 09 — send it backIn build

    Meta saw 440. Now it learns from 630.

    The 370 who declined stay counted, in your hub only.

    Illustrative
  15. // 10 — why it matters

    More real sales in. Smarter ads out.

    Meta learns from 630 buyers, not 440, so it finds more like them.

    Meta's figure, not ours: Conversions API setups saw an average 17.8% lower cost per result (Meta for Business, 15 Apr 2026, source ↗)
    Meta · Ads Manager · optimisationIllustrative
    Meta · Ads Manager

    Optimisation · what the ads learn from

    630optimising on
    440 buyers its pixel saw190 more, sent by ClickfallA dot is 10 buyers. The 370 who declined are not here: they stay in your hub.
  16. // 10 — why it matters

    And you see what every pound returns.

    Real ROAS and cost per sale for every channel, from counted sales.

    Illustrative. A mechanism, not a promise: we measure the lift on your account with a holdout test.

    Ads

    Return on ad spend by channel this week: the platform's view beside the counted one. Illustrative

    Return by channelmixed
    1. Meta adsspend £20,0001.9→4.3ROAS£45→£20a sale
    2. Google Adsspend £12,0001.6→2.1ROAS£52→£41a sale

    The platform's figure counts only the sales its own tag saw. The counted one takes every sale from your payments.

    A mechanism, not a promise

    We measure the lift on your account with a holdout test.

  17. // 11 — counted

    Every visit. Every sale, tracked.

    Illustrative

    Overview

    What you just saw, on Northfell's hub. Illustrative

    1. Counts on your own domainLive
    2. Every visit, with its channelLive
    3. Every cookie answer, recordedPreview
    4. Real vs estimated, labelledPreview
    5. Replay from accepted cookiesPreview
    6. Sales sent back to four ad platforms, with receiptsIn build
    7. Every call, matched to the clickIn build

Counted for stats only. Nothing identifies you. Opt out · Choices