Conversion event taxonomy
Apex speaks one event vocabulary on the way in and on the way out. When you enable a conversion event for an ad network, you name it once in Apex Spec terms — purchase, lead, signup— and Apex translates it to each network's native name automatically. You never maintain a per-network mapping matrix by hand.
How it works
Your snippet or SDK fires a canonical event (for example purchase). When outbound conversion forwarding is enabled for a network, Apex maps the canonical name to that network's native event and delivers it via the network's conversions API. A dash (—) means the network has no equivalent for that event, so Apex skips it for that network rather than inventing a mapping.
The mapping
| Apex Spec event | Meta | Microsoft | TikTok | Snap | |||
|---|---|---|---|---|---|---|---|
purchase | Purchase | purchase | Purchase | Conversion | CompletePayment | PURCHASE | PURCHASE |
add_to_cart | AddToCart | add_to_cart | AddToCart | — | AddToCart | ADD_CART | ADD_TO_CART |
lead | Lead | lead | Lead Gen Form | Lead | Form | SIGN_UP | LEAD |
signup | CompleteRegistration | sign_up | SignUp | SignUp | CompleteRegistration | SIGN_UP | SIGN_UP |
subscribe | Subscribe | subscribe | Subscribe | Subscribe | Subscribe | SUBSCRIBE | PURCHASE |
app_install | MobileAppInstall | app_install | — | — | InstallApp | APP_INSTALL | — |
app_open | ActivateApp | app_open | — | — | — | APP_OPEN | — |
in_app_purchase | Purchase | in_app_purchase | — | — | Purchase | PURCHASE | PURCHASE |
begin_checkout | InitiateCheckout | begin_checkout | — | — | InitiateCheckout | START_CHECKOUT | — |
book_appointment | Schedule | book_appointment | — | — | — | — | — |
request_quote | — | request_quote | — | — | — | — | — |
contact | Contact | contact | — | — | Contact | — | — |
qualified_lead | — | qualified_lead | — | — | — | — | — |
converted_lead | — | converted_lead | — | — | — | — | — |
key_event_1…4 | customer-defined | customer-defined | customer-defined | customer-defined | customer-defined | customer-defined | customer-defined |
What Google hears with each sale
Sales Apex sends to Google on its own also say two things about the buyer, so Google can bid more for the buyers worth more to you:
- New, returning, or back after a while.New means this is their first purchase. Returning means they last bought within your kind of business's window, the same window your win-back list uses. Back after a while means they last bought before that. A buyer whose earlier purchase has no date on file is left off, rather than guessed.
- Spend third. Every day Apex lines up your buyers by lifetime spend and splits them into thirds. Each sale says whether this buyer, counting this sale, sits in the bottom, middle, or top third. Until the first daily split runs, this is left off.
A sale you send through Send something else is one Apex doesn't count on its own, so Apex may have missed this buyer's earlier sales. It says only what still holds: returning when a sale Apex has for them is inside the window, and top third when the spend Apex has for them already puts them there. It never says new or back after a while.
Custom events & overrides
Need a mapping we don't ship out of the box? Two options:
- Custom event names pass through unchanged — make sure a matching conversion exists on the network side.
- Per-event overrides let you remap any Apex Spec event to a different native name for a specific network, configured per workspace in the Ad measurement settings.
Why one vocabulary matters
The same canonical events power ingest, experiments, journey triggers, audience targeting, and outbound conversion forwarding. Because purchasemeans the same thing everywhere, your measurement, your automations, and your ad-network feedback loops all stay consistent — and Apex's cross-account learning models can reason over a standardized event graph rather than a tangle of per-customer naming.
These ad-network mappings are the platform-link side of a Conversion. A Conversion can carry both an owned-event source (what your snippet/SDK observes) and platform links (what each network attributes). The two counts are kept separate by design — platform-attributed numbers power ad-ROAS reporting and are never blended into the owned-event total or used as an experiment or journey objective.