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.
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.
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.
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.
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.
| Property | Public key, atr_... | Server key, atr_server_... |
|---|---|---|
| Where it goes | In every page, in the script | On your server only |
| Who can see it | Anyone who reads your page | Owners and administrators, in Settings > Tracking |
| Accepted from | Your allowed domains only, up to 10 | Anywhere |
| Rate limit | 120 events per minute per visitor | None |
| Reaches Meta and Google Ads | Never | Yes, within the limits |
From the Set up tracking and API reference pages of the Adrails documentation.
Go further
Read more
- Set up trackingThe script, the two keys, the server call and how a sale is counted once.
- Send conversions to the platformsDataset, conversion action, the two limits and what Settings shows.
- Tracking API referenceEvery field, status and error, and the OpenAPI document.
- Security and dataWhat Adrails stores from tracking, and how credentials are protected.
Sources checked
- Meta Business Help Center: About Conversions API
- Meta for Developers: Handling Duplicate Pixel and Conversions API Events
- Meta for Developers: Customer Information Parameters
- Google Ads Help: About enhanced conversions
- Google Ads Help: About offline conversion imports
- Google Ads Help: Set up offline conversions using Google Click ID (GCLID)
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.