Conversion tracking

Server-side tracking from your site to your ad accounts

Adrails tracking has two parts: a script on your pages that records visits and attribution, and calls from your server that record sales and leads signed with a secret key. Only signed events reach Meta's Conversions API and a Google Ads conversion action, within a value limit and a daily limit, and Settings shows what was sent, what waits and what was refused.

Reviewed Oct 4, 2026

Conversion tracking

From a page view to a conversion the platforms can learn from

Four stages, two keys. The page records with the public key, your server signs with the server key, and only the signed events travel on.

  1. 01

    The script records the visit

    On every page, the script keeps a visitor id in a first-party cookie for a year, keeps the UTM parameters and click ids the visitor arrived with for 90 days, records a page view and exposes adrailsTrack for other events. Everything it sends stays in Adrails.

  2. 02

    Your server records the sale

    At checkout, your server posts the event with the server key: an event id such as the order id, the value and currency, the fbc, fbp and gclid saved on arrival, and the customer's email, external id or phone. An event id seen before is accepted and not recorded again.

  3. 03

    Adrails passes it on to the platforms

    A Meta dataset receives each signed event right after it is recorded, under Meta's standard event name, with the event id for deduplication. A Google Ads conversion action receives the signed events that carry a gclid, in hourly batches, once they are at least 6 hours old.

  4. 04

    You read what was sent

    Settings > Tracking shows, per platform over the last 30 days, the events Sent, Waiting and Refused, how many page events stayed in Adrails, how many signed events the limits held back, and the last problem Google reported.

Two limits per tracking source hold back signed events from the platforms without dropping them from Adrails: a largest value per event, 100,000 by default and up to 1,000,000,000, and a number of events per day and per platform, 5,000 by default and 1 to 100,000, counted from midnight UTC. Figures from the Adrails tracking documentation.

Product view

The sale recorded on your server, read next to the ad

Campaign detail shows the conversions the platform counted and the ones your server recorded, and Analysis sets revenue next to spend.

The two keys

The public key records, the server key sends

The public key is in every page of your site, so anyone can send events with it. That is why only the server key can reach an ad platform.

The public key records, the server key sends
PropertyPublic key, atr_...Server key, atr_server_...
Where it goesIn every page, in the scriptOn your server only
Who can see itAnyone who reads your pageOwners and administrators, in Settings > Tracking
Accepted fromYour allowed domains only, up to 10Anywhere
Rate limit120 events per minute per visitorNone
Reaches Meta and Google AdsNeverYes, within the limits

From the Set up tracking and API reference pages of the Adrails documentation.

FAQ

Common questions

What is server-side tracking, and does it replace my pixel?

Server-side tracking sends conversions from your server rather than from the visitor's browser, so a sale reaches the platform even when a pixel is blocked or fails to load. Adrails does not replace the pixel: send the same event_id from both, and Meta keeps one of the two.

Does Adrails send conversions to the Meta Conversions API?

Yes. Choose the ad account and the dataset in Settings > Tracking, and each server-signed event is sent right after it is recorded with the standard event name, event_id, time, value, currency, fbc, fbp, IP address, user agent and SHA-256 hashed email, external id and phone. Events from the script on your pages are never sent.

Does Adrails support enhanced conversions for Google Ads?

No. Adrails uploads click conversions keyed by the gclid to the conversion action you choose, in hourly batches once an event is at least 6 hours old. Enhanced conversions, which add hashed first-party data to a conversion, are not part of what Adrails sends.

What happens to a purchase above the value limit?

It is recorded in Adrails and held back whole from Meta and Google Ads, not lowered to the limit. The default limit is 100,000 in the currency your site sends, and owners and administrators can set it anywhere above 0 up to 1,000,000,000.

How do I know whether a conversion reached Meta or Google Ads?

Settings > Tracking shows Sent, Waiting and Refused events per platform over the last 30 days, plus the last problem Google reported. The 202 answer of the collect endpoint only says the event was recorded.

What does the script store in a visitor's browser?

A visitor id in the first-party cookie _adrails_visitor_v1 for a year, and the UTM parameters and click ids the visitor arrived with for 90 days in local storage under _adrails_attribution_v1. It also builds Meta's fbc from the fbclid and reads the _fbp cookie your Meta pixel set.