Skip to main content

Server-side tracking

Onebox reports the purchase conversion server-side, from its own tagging server to your marketing and analytics platforms: Meta Conversions API and Google Analytics 4.

Because the conversion is reported from the server rather than the buyer's browser, it is not lost to ad blockers, browser tracking restrictions, or a buyer who closes the tab before the confirmation page loads. Your platform can match it with the purchase your own tags send from the browser, so it is not counted twice.

Only purchase is reported server-side. Every other event remains available to your own tags through the browser data layer.

Quick answers​

You want to know…Answer
Is Meta Conversions API supported, deduplicated with my pixel?Yes. Both events carry the same event_id. See Event deduplication.
Does the purchase include hashed customer data and the order code?Yes: SHA-256 email, first name and last name, plus the order code. Phone is not included. See Customer data.
Does fbclid survive to the checkout confirmation?Yes. See Advertising identifiers.
Which orders are reported?Every order of the channel. See Which orders are reported.
How do I turn it on?Self-service in the Control Panel, per sales channel. See Enable it.

What the purchase conversion includes​

You do not need to build or map any of this yourself: it ships with the conversion.

Order identifiers​

ParameterContent
transaction_idOrder code. Meta receives it as order_id.
event_idDeduplication id, shared with the browser event (see Event deduplication)

Customer data​

Buyer identity reaches your platforms hashed with SHA-256, normalised beforehand (trimmed and lower-cased), in each platform's own customer data fields:

Buyer dataMeta Conversions APIGoogle Analytics 4
Emailemsha256_email_address
First namefnsha256_first_name
Last namelnsha256_last_name

The buyer's IP address is sent as client_ip_address, which Meta uses as an additional matching signal. No other buyer data is sent: date of birth, gender, postal code and country are not included, even when the channel's purchase form collects them.

note

Phone number is not sent. Phone matching is not available today, regardless of what the purchase form collects. If you need it, raise it with your Onebox contact as a change request.

Advertising identifiers​

The sales channel captures these when the buyer arrives and keeps them during the browsing session, so the conversion can be attributed back to the click that produced it:

ParameterSource
fbclidfbclid URL query parameter
_fbcMeta _fbc cookie
_fbpMeta _fbp cookie

Meta receives them as fbc and fbp. When fbclid is present, fbc is built from it. The _fbc and _fbp cookies exist when a Meta pixel runs on the channel, for example from your GTM container.

UTM parameters are not part of the server-side conversion.

Event and session details​

For Google Analytics 4, each entry of the standard items array carries the event and session it belongs to, as ob_event_id, ob_event_title, ob_session_id and ob_session_title, and the conversion carries the channel it was sold on (ob_channel_id, ob_channel_name, ob_channel_entity_id, ob_channel_entity_name).

For Meta, each entry of contents carries only its id, price and quantity. The events and sessions are rolled up into four order-level parameters instead, each a comma-separated list of the distinct values in the order: ob_event_ids, ob_event_titles, ob_session_ids and ob_session_names. Use them to attribute conversions to specific events and sessions, compare performance across them, and build more detailed reports.

Which orders are reported​

Every order of a channel with server-side tracking enabled is reported, whether the buyer purchased on the channel's website or the order was created through the API on that channel. Advertising identifiers and the IP address are only available for purchases made on the website.

Enable it​

Server-side tracking is configured per sales channel, by a Control Panel user with the operator manager role.

  1. Go to Channels › My channels › your channel › Configuration › Server-Side Tracking.
  2. Enable the destinations you need and add their credentials (up to 5 credential sets per destination):
    • Meta (Facebook) Pixel: switch Enable Meta Pixel tracking on, then enter the Pixel ID (the numeric dataset id) and the Meta API Key (Conversions API access token).
    • Google Analytics 4: switch Enable Google Analytics 4 tracking on, then enter the Measurement ID (G-XXXXXXXXXX) and the Google Analytics API Key (Measurement Protocol API secret, 22 characters).
  3. Save.

A destination cannot be saved as enabled without at least one complete credential set. Either destination switch on its own is enough: nothing else on this screen is needed. Repeat for every sales channel that must report server-side.

The third switch, Enable Tracking Gateway, is not part of this setup and is off by default. Leave it off unless Onebox has asked you to enable it.

If you would rather have the Onebox team do the setup, or you do not have the required role, contact your Onebox customer success manager with the same credentials.

Event deduplication​

Each purchase can reach your platform twice: once from your own tags in the browser, and once from Onebox server-side.

Meta​

Meta deduplicates the two events when they carry the same event id. The server-side purchase uses the event_id that the channel pushes with purchase to the data layer, so your Meta pixel must send that event_id. Otherwise Meta cannot tell the two events apart, and the purchase is counted twice.

  1. In GTM, create a Data Layer Variable that reads the event_id key, and name it for example DLV - Event ID.
  2. Send it as the event id of your pixel's Purchase event:
    • Raw HTML pixel: pass it as eventID:
      fbq('track', 'Purchase', {value: 12, currency: 'USD'}, {eventID: '{{DLV - Event ID}}'});
    • Facebook Pixel community template: add the variable in the Event ID field under More Settings.

Google Analytics 4​

GA4 deduplicates purchases that have the same transaction_id. The browser and the server-side purchase both carry the order code as transaction_id, so no extra configuration is needed.

Support​

For questions about server-side tracking, contact your Onebox support representative.