PrestaSignal
GA4 · server-side

GA4 reports you can actually trust.

When browser hits never reach GA4, every report downstream is wrong — and so is every decision you make from it. PrestaSignal runs Google’s own tag through your shop’s address and reports each sale from your back office, so GA4 finally reconciles with reality.

Why your GA4 numbers don’t match your orders

Browser-side GA4 loses hits to ad blockers and Safari’s cookie limits — the tag library itself loads from googletagmanager.com, a domain on every filter list. Every blocked hit is a visit, a session or a sale GA4 never hears about. The result is a property that disagrees with PrestaShop on the one number that matters: how many sales you actually made.

Google’s own tag, served from your address

Sessions are right by construction: Google’s own tag runs — through your address — so session_start, first_visit and user_engagement arrive exactly as Google expects. Nothing needs to be stitched or repaired afterwards. The sale is reported separately by your back office, tax-inclusive to match your order totals, with a transaction ID built from the order itself so a purchase can never be counted twice.

Capabilities

What reaches GA4

Full ecommerce funnel
The full PrestaShop funnel, from page_view to purchase and refund
Sessions right by construction
Google’s own automatic events — session_start, first_visit, user_engagement — arrive as Google expects
Tax-inclusive revenue
Purchase value matches your PrestaShop order totals
Refunds that reconcile
Each refund carries the matching transaction ID, so GA4 reverses the right revenue
Deduplicated purchases
Transaction IDs built from the order itself — counted once
Clean attribution
First hits aren’t lost to blockers, so sessions keep their source instead of landing “unassigned”
Under the hood

How GA4 server-side tracking works on PrestaShop

When a shopper browses your store, it is Google’s own GA4 tag doing the measuring — but the tag library and every request it sends travel through a connector on your shop’s own address. Ad blockers’ filter lists target googletagmanager.com and google-analytics.com; on your store, nothing loads from those domains. Because Google’s tag runs unmodified, sessions, engagement and attribution behave exactly as GA4 expects — right by construction, with nothing to reconstruct afterwards.

The sale takes a second, browser-free road. The moment an order is validated, your back office reports the purchase server to server — whether or not the shopper’s browser sent anything — with revenue tax-inclusive to match your order totals and a transaction ID built from the order itself, so a refreshed confirmation page can never double-count. Refunds follow with the matching ID, so GA4 reverses the right revenue. Personal data is hashed in the module before anything leaves your shop.

The cost of the gap

What goes wrong with browser-only GA4

Missing sessions

When the browser blocks Google’s domains, whole visits never reach GA4 — the shopper was there; your reports say otherwise.

Missing purchases

Ad blockers and Safari’s limits silently drop a share of purchase events, so GA4 reports fewer sales than your order list.

Revenue that won’t reconcile

Tax-excluded values or duplicated transactions leave GA4 revenue disagreeing with your back office.

Broken attribution

Lost first hits push sessions into “unassigned”, hiding which channels actually drove the sale.

Good to know

GA4 server-side — questions.

Will my session counts be accurate?+

Yes — by construction. It is Google’s own tag counting sessions, served through your address, so session_start, first_visit and user_engagement fire exactly as Google designed them. There is nothing to stitch together or repair afterwards.

Does the revenue match my PrestaShop orders?+

It’s sent tax-inclusive to match your order totals, with a transaction ID built from the order itself so the same purchase is never counted twice — and each refund carries the matching ID, so GA4 reverses the right revenue.

Do I still need the GA4 browser tag?+

You don’t manage one separately. PrestaSignal runs Google’s tag for you — served from your own address — and reports the sale from your back office. It is one integrated design, not a mode you have to choose or maintain.

Is GA4 set up for me?+

Yes. We configure your GA4 connection on the tracking server we host, so you don’t wire up Measurement Protocol or API secrets yourself.

Does server-side GA4 affect my page speed?+

No. There are no third-party scripts on your pages — the tag loads from your own address like the rest of your shop — and the heavy lifting of talking to GA4 happens on the tracking server we run, separate from page rendering.

Will Consent Mode still work?+

Yes. The visitor’s real consent choices are forwarded exactly as given — never rewritten — so GA4 receives consent signals the way Google expects, and declined visitors stay declined.

Make GA4 agree with your bank account.

A free teardown compares your live GA4 against your real orders and shows the gap.

Part of the PrestaChamps family →