When server-side tracking doesn't help (and what to do instead)
Server-side tracking solves a specific class of problem, the dispatch path being adblock-vulnerable. There are four scenarios where it doesn't help, where reaching for Beaconry, Stape, or GTM SS will leave you confused about why your numbers didn't improve. Here are those scenarios, with the actual upstream fixes.
Scenario 1: You're not capturing PII at all
Server-side hashing only helps if there's something to hash. If your forms collect only name and message but no email or phone, server-side dispatch sends a CAPI event with empty user_data.em and user_data.ph fields. Match-rate stays low because Meta has no identifier to match against.
The real fix: add the missing fields to your forms. Email is the single most valuable matching signal, phone next, then ZIP/city. If your conversion process has these but your form doesn't ask for them, that's where the first hour of work should go, not in tooling.
Scenario 2: 100% of your audience rejects analytics consent
If your consent banner has a 0% accept rate, no tracking tool helps. Beaconry, Stape and GTM SS all respect the same consent gate. Server-side is not a way around consent; it's a way around adblock, which is a different problem.
Common cause of 0% accept: a banner that defaults to "reject all" with no value proposition. Visitors click "reject all" because they're trained to.
The real fix: rethink the banner UX. A two-button banner with clear "what we use cookies for" copy typically gets 60-80% accept rate on consumer audiences, 30-50% on B2B. If you can't get above 30%, the underlying issue is brand trust or banner design, not tracking implementation.
Scenario 3: The wrong campaign is getting credit
"Tracking is broken because Campaign X is showing zero conversions even though we know it's working." Often this isn't a tracking problem; it's an attribution-model problem.
Default attribution on most platforms is last-click within a 7-day window. If a visitor clicks Campaign X on day 1 and then comes back via organic search on day 5 to convert, the conversion is attributed to organic, not Campaign X. The tracking is correct; the attribution model is just rewarding the last touchpoint.
The real fix: switch to data-driven or first-click attribution in the platform's reporting settings. Or run incrementality tests instead of relying on last-click. Server-side tracking can't change which model the platform uses.
Scenario 4: Fundamental no-fit cases
Some businesses generate conversions in ways that web-pixel tracking, server-side or otherwise, fundamentally can't see.
- Phone-call conversions: visitor sees an ad, calls a number, books over the phone. Web pixels can't see the call.
Fix: call-tracking tools (CallRail, CallTrackingMetrics) that map ad-clicks to phone numbers and pass conversion data back to ad platforms. - In-app commerce: visitor clicks a Meta ad, lands in a Shopify mobile-app purchase flow. Web pixels see only the landing.
Fix: platform SDKs (Meta App Events, Firebase) that fire from inside the app, not the web. - Offline conversions: visitor sees an online ad, walks into a brick-and-mortar store, pays at the till. No web event exists.
Fix: Google Ads / Meta offline-conversion uploads from your POS data, often via a CSV import or a CRM-side integration. - Long sales cycles > 90 days: visitor clicks an ad, signs up for a demo, becomes a customer 6 months later. Click-IDs have expired, attribution windows have closed.
Fix: CRM-side attribution that ties pipeline to source-campaign at lead-creation time, then reports back to the platform via offline-conversion API. Beaconry'sgenerate_leadevent captures the click-ID at creation; the rest is downstream.
Where server-side genuinely is the answer
To round it out, the cases where reaching for server-side tracking is the right call:
- Your audience has 20 %+ adblock rate and your reporting dashboards show a noticeable gap between known site sessions and tracked conversions.
- You're already running GTM and Stape and the bills are getting uncomfortable.
- You're a WordPress shop and want a one-time install with no ongoing tag-template work.
- You need to track Google Ads conversions but don't want to wait 4-6 weeks for developer-token approval.
The diagnostic question to ask first
Before installing any tool, look at the actual gap. Open a browser with uBlock Origin enabled, visit your site, watch the Network tab. Open it again with adblockers off. Compare. If the difference is significant (most events fire in the second case but not the first), server-side helps. If both look the same and your numbers are still off, the problem is upstream and a tool change won't fix it.
Take-away
Server-side tracking is a precise tool for a specific problem: bypassing adblockers without sacrificing match-rate. It does not fix forms that don't collect PII, banners with 0% accept, attribution models that reward the wrong touchpoint, or business models where conversions happen outside the browser. Honesty about which problem you're actually facing is worth more than picking the latest tool.