Skip to main content
    Proof
    Impress Blinds — cost per enquiry down 62.63%, $23.6 to $8.82SLS Solicitors — cost per enquiry down 58.48%, $84.64 to $35.14FixCare Property — cost per enquiry down 56.36%, $35.24 to $15.38Rubbish Removal WA — cost per enquiry down 53.18%, $71.02 to $33.25Floral Cakery — cost per enquiry down 49.82%, $13.83 to $6.94ILLUMINATE Laser Emporium — cost per enquiry down 48.54%, $138.65 to $71.35Aussie Plumbing — cost per enquiry down 41.96%, $117.75 to $68.34Sydney Fence Painting — cost per enquiry down 33.68%, $136.62 to $90.61Alliance Plumbing — cost per enquiry down 29.6%, $81.26 to $57.21Gridless Build Solutions — cost per enquiry down 29.16%, $78.16 to $55.37FacilityWorx — cost per enquiry down 23.62%, $157.13 to $120.01Cornerstone Roofing — cost per enquiry down 20.47%, $41.71 to $33.17A council finance platform — 194 of 194 requirements metA council finance build — 14 weeks to UAT, −34% 10-yr costA cultural institution — $634K of $750K kept workingA council platform — $470,106 built vs $503,262 SaaSA federal agency — n=5,000 prevalence survey at ±1.4%A civic mural — 36 concepts for a 71m × 9m wallA regional shire — 32-page visitor guide, 3 weeks earlyA shire council — one platform retiring 8 of 9 vendorsA pressure washing business — 138 jobs at A$20.43 eachA pressure washing business — 21.20% conversion rateA carpet cleaner — 53 jobs in 15 days at A$24.92 eachA roofing company — 68 quote requests in 35 daysA CCTV installer — 39 qualified leads in 15 daysA fence painter — 36 jobs in 24 days, quotes by day 3A maintenance business — live in 8 weeks, 3 stacks gone41 numbered clauses, published in full5.0 across every Google review$120M+ in media under management250+ active engagements across five countries

    Meta Conversion API Send the sale from your own server.

    Browsers are getting harder to measure in. The Conversion API sends the same sale to Meta from your own system, so an ad blocker, a phone setting or a missing cookie no longer decides whether your advertising gets counted.

    Runs from your own systems into your own Meta account · Matching details scrambled one way before they leave · Consent carried through the server, not only the page

    Inside the account

    Seven ways the
    count goes wrong.

    The first three are what happens with no server side at all. The last four are what happens when one is added in a hurry, which is worse, because the reports get better while the truth gets further away.

    • The browser never got the chance

      An ad blocker or a privacy setting stopped the script before it ran. The sale happened, the customer is real, and the only record of it never left the page it happened on.

    • Reported sales stopped matching your invoices

      Meta says forty and your books say sixty. That gap is not a mystery and it is not rounding — it is the share of events the browser could not deliver, and it widens quietly over time.

    • Bidding is learning from half the evidence

      Meta buys more of whoever it saw convert. If a third of your buyers never made it into the record, the system is chasing the ones whose browsers happened to cooperate.

    • Somebody added the server copy without a shared reference

      Now the same sale arrives twice and Meta counts it twice. Cost per sale looks like it halved overnight, somebody moves budget toward the good news, and the good news was arithmetic.

    • Only the browser events carry a value

      The server side arrives with no amount attached, so the platform is bidding for order counts while your revenue sits in a column nobody sent. Big jobs and small ones weigh the same again.

    • Somebody handled consent in the browser only

      A visitor declines, the page respects it, and the server sends the event anyway an hour later. A choice that only one half of your measurement honours has not been honoured.

    • Somebody built it once and never went back

      A new checkout, a form plugin, a site rebuild. Server-side reporting breaks silently, because there is nothing on the page to look at — you find out from a quiet month.

    The one idea

    Two roads. One sale.

    Nothing new is being measured here. The same sale simply travels a second way, so that when one road is closed the report still arrives. Here is what actually differs between them.

    • Where the report is sent from

      The visitor's own browser, on their device

      Your own system, after the sale is already real

    • Ad blockers and privacy tools

      Can stop the script before it ever runs

      Nothing on the page for them to block

    • Phone privacy settings

      Reduce what the browser is allowed to report

      No browser involved, so nothing to reduce

    • Third-party cookies

      Relied on, and steadily being withdrawn

      Not used at all

    • The same sale counted twice

      No way to prevent it on its own

      Merged, when both halves share a reference

    • What it needs from you

      A tag on the website

      A connection from the system that holds the sale

    So how does the same sale not get counted twice?

    Every sale is given one shared reference, and that reference travels with both copies. When the two arrive by different roads, the platform sees the same reference on each and treats them as one event, keeping whichever copy carries more detail.

    If the browser was blocked, the server copy stands on its own and nothing is lost. If both get through, nothing is doubled. Get that reference wrong and every sale in the account counts twice — which is why a second person reads this build before it is switched on.

    1. 01

      First click

      Somebody taps your ad in the feed and lands on your site.

    2. 02

      The browser copy sets off

      The visit is reported from the page itself, the way it always was.

    3. 03

      They enquire or buy

      A quote form, a booking or an order — the moment worth measuring.

    4. 04

      The server copy follows

      The same sale, sent a second way, from your side rather than theirs.

    5. 05

      One shared reference

      Both copies carry it, so the two arrivals are treated as one event.

    6. 06

      Booked job

      Counted once — and still counted when the first road was closed.

    One continuous line, from a first click to a job in the diary. Two roads carry the middle of it, and the shared reference is what stops that becoming two sales.
    Three real accounts

    Pink Flamingo · 41-day period

    A$20.43

    Cost per job booked

    138 jobs — a number that only means anything once the count is complete

    Cleanetic Perth · 15-day period

    53

    Jobs booked

    A$24.92 each, on a brand-new account with no history to learn from

    NexData NSW · 15-day period

    39

    Qualified leads

    Commercial and residential reported as separate actions

    Figures are from live client accounts and are dated in each case study. They are what those campaigns did, in those markets, at those budgets — not a forecast for yours. A cost per job can be quoted at all only because the jobs behind it were counted and reconciled.

    Ten things happen on a server-side build. Here they are, in order.

    Step one exists because this work is not urgent for everybody, and you deserve to know which you are before you pay for it.

    1. Measure the gap before selling you the fix

      We compare what Meta reported against what actually happened in your business for a recent period. Sometimes that gap is large and this is urgent. Sometimes it is small, and we will tell you that instead.

    2. Report the same sales, not new ones

      The server side sends exactly the actions the browser side already sends — the enquiry, the call, the booking, the order. Inventing a second definition here is how two sets of numbers stop agreeing forever.

    3. Give every sale a shared reference

      One identifier travels with both copies, so when they arrive by different roads the platform recognises them as one event. This single step is the difference between complete data and double-counted data.

    4. Send the amount with it

      Your real order values or your average job size, attached to the server copy as well as the browser one. Without it the platform bids for orders, and orders are not what you bank.

    5. Scramble the matching details before they leave

      We turn email and phone into a one-way value on your side, so Meta receives something it can compare against a profile and never the actual address or number. That conversion cannot be run backwards.

    6. Carry consent through both halves

      The server reads the visitor's choice as well as the page does, so a decline stops the event on both roads. We build it at the same time as the connection, not when somebody asks.

    7. Connect it to the system that holds the truth

      Your checkout, your booking system, your CRM, or the tag container's own server side — whichever one knows the sale is real. Reporting from a page a customer merely reached is guessing again.

    8. Push real orders through and watch them merge

      Live transactions sent down both roads and watched arriving in Meta's own event tool, confirmed as one event rather than two. Not a screenshot of a setting — the actual sale, arriving.

    9. Two of us before anyone switches it on

      A second person reads the whole build. A mistyped reference here doubles every sale in your account for as long as nobody notices, and the reports look excellent while it happens.

    10. Reconcile against your own books, every cycle

      What Meta reports and what you actually invoiced have to agree, or the difference has to be explainable. That reconciliation is the job. Everything above it is just plumbing.

    How the build runs

    Three weeks, and most of it is testing.

    1. Week 0

      Measure the gap

      What Meta reported for a recent period against what your own records say happened. That number decides whether this work is urgent for you or merely tidy.

    2. Week 1

      The plan

      Which actions the server reports, what each is worth, which system it connects from, and how consent reaches both halves. We agree all of it with you before we build anything.

    3. Weeks 1–3

      The build

      The connection, the shared references, the values, the scrambled matching details and the consent path — all of it staged, none of it live while it is half finished.

    4. Go live

      The proving run

      We push real orders down both roads and watch them arrive in Meta's own event tool as single events, not pairs. Two of us sign it off, and we write down what we sent.

    5. Weeks 2–6

      Your reported numbers move

      Usually upward, and this is the part to be clear about: you are not selling more, you are counting more of what you already sold. We say that before the first report lands, not after.

    6. From there

      Rhythm

      We reconcile it every reporting cycle and re-test it whenever your checkout, forms or booking system change. Server-side breaks quietly, so we go looking rather than waiting for somebody to notice.

    Your reported conversions will probably rise. That is more of your existing sales being counted, not more sales — and we would rather say it here than let a report imply otherwise.

    SoudCoh Compound™

    Work you cannot see from your website needs a record you can open.

    Compound is how our team works on any account — six gates every change passes through. Server-side work leans hardest on these two, because none of it is visible on the page.

    • Countersign

      Nothing reaches a live account with one name on it.

      One mistyped reference doubles every sale in the account, and the reports get better-looking as it happens. This is the single clearest case on the whole site for why a second person reads the build before it goes live.

    • Ledger

      Every change we make becomes a record you can open.

      Server-side work is invisible from your website — there is no tag on the page to inspect. So we write down what we sent, when, and who sent it, and you can open that record rather than take our word for it.

    FAQ

    The server side, answered.

    Cost, timing, contracts, who owns the connection, reporting, privacy, and what happens when the numbers still do not add up.

    The first call is free and there is no deck.

    Ask us about your tracking

    Meta charges nothing for it. What you are paying for is the connection: agreeing which sales the server reports, giving each one a shared reference so it merges with the browser copy, attaching real values, scrambling the matching details, carrying consent through both halves, and proving it with live orders. A single site with one enquiry form is a much smaller job than a store with a checkout and a booking system. For clients we run Meta advertising for it is part of the engagement; standalone it is a fixed price after a free audit.

    The build usually runs two to three weeks, most of which is testing rather than connecting. You will see reported conversions move within the first fortnight, and it is worth being blunt about what that means: you are not selling more, you are counting more of what you already sold. The genuine difference — Meta bidding from a fuller picture — shows up over the following month or two, and how much it moves depends on how much the browser was losing for you in the first place.

    No long-term lock-in. The connection can be a one-off project, and you keep the setup, the event definitions and the documentation whether or not we work together again. Where it sits inside an ongoing Meta engagement we ask for enough runway to be fair to the work, because an account judged in its first fortnight is being judged while the reported numbers are still resettling. The terms are put in front of you in plain English before anything is signed.

    You do. It runs from your own systems into your own Meta business account, and we are added with access rather than as the owner. The event definitions, the values and the documentation are yours, and if we part ways the connection keeps working. Measurement assets are yours outright — deliberately different to how an advertising build itself is handled, and it means leaving never costs you your measurement.

    We keep going until the difference is explainable. A gap between Meta and your books is not automatically a fault — a customer who clicked in March and paid in May will sit in different columns — but an unexplained gap is. We check the references first, then the values, then the consent path, then the system the events are coming from. Where the honest conclusion is that the connection is not the thing holding your account back, we will say so rather than keep charging to tune it.

    A fixed rhythm, good news or bad, in the language you use about your own business. Each report covers what was spent, what it produced, what we changed and why, and what happens next. Meta's numbers are set beside what actually happened in your business, and where the two disagree the gap is named and explained rather than smoothed over. You also get live access to see spend and performance for yourself at any time.

    It is a second road for the same information. Normally your website's browser tells Meta that somebody enquired or bought. The Conversion API has your own system tell Meta directly instead — after the sale, from your server, with no browser in the middle. Nothing about the customer's experience changes. What changes is that the report arrives whether or not the visitor's browser was willing or able to send it.

    Three things happened at once. Phone operating systems gave people a clear choice about being tracked, and many took it. Ad blockers became normal on desktop, and they block advertising scripts by design. And browsers began withdrawing the third-party cookies that browser-side measurement leaned on. The share of events lost is commonly put at around a third, but that is somebody else's average — the number worth acting on is the one measured on your own traffic, which is the first thing we do.

    Not when it is built properly. Every sale is given one shared reference that travels with both copies. When the browser report and the server report arrive by their different roads, the platform sees the same reference on both and treats them as one event, keeping whichever copy is more complete. If the browser was blocked, the server copy stands alone. Getting that reference wrong is the classic way this goes bad, which is why nothing here goes live on one person's say-so.

    Not in the form you are picturing. Where an email or phone number helps Meta match a sale to a profile, it is scrambled into a one-way value on your side before it leaves — Meta receives something it can compare, never the actual address or number, and the conversion cannot be run backwards. Consent is carried through the server as well as the page, so a visitor who declines is not reported by either road. And the promise we make everywhere else holds here: our learnings, never your data.

    This is the part of your measurement that keeps working. The server side does not use third-party cookies at all — it reports from information your own business already holds, given to you directly by the customer, with their consent. That is why we build it alongside the pixel rather than as an upgrade to buy later. The businesses that will feel the cookie withdrawal hardest are the ones whose entire measurement lives in somebody else's browser.

    Yes, and they are better together than either is alone. The browser half sees things the server cannot — pages viewed, how far somebody read, the behaviour that builds your follow-up audiences. The server half is what makes the sale itself arrive, whatever the browser was allowed to do. Run together with a shared reference, you get the full picture without double-counting. We build them as one job for that reason, and the Meta Pixel page covers the browser half in detail.

    Further reading

    Sending events from your server fixes what gets collected, not what gets counted — how the same sale ends up recorded twice, and where GST distorts the value. For businesses being pushed toward matched, privacy-safe data instead, why data clean rooms keep stalling below the top tier.

    Measure the gap

    We compare what Meta reported for a recent period against what actually happened in your business, and put a number on the difference. Yours to keep either way.

    No pitch deck. No upsell. A real conversation and a number you can check.