Ad platforms look for more people like the conversions you report. If you only report form fills, they look for more people who fill in forms. Subcontext reports which of the people who clicked your ads went on to book, be quoted, buy, or pay commission, so the platforms can look for more of those.
This page is for whoever runs your ad accounts or answers questions about your privacy notice. To connect an account, see Built-in integrations; the dashboard help article Sending outcomes to Google Ads and Meta covers the settings.
What can be sent#
Each step from visit to sale is switched on separately on the connection:
| Step | When it happens | Meta's event name, unless you change it | Value |
|---|---|---|---|
| Engaged | The visitor sent a first message, or answered a first form question | Contact |
None |
| Conversing | Three messages, or three form answers | Conversing (a custom event) |
None |
| Lead | They gave an email address or phone number, or submitted their details | Lead |
None |
| Booked | They made an appointment | Schedule |
None |
| Quoted | They were first quoted | InitiateCheckout |
None |
| Sold | They bought a policy | Purchase |
The annual premium, in pounds |
For Google Ads, you choose a conversion action for each step instead of an event name. Send the deepest step you have enough of to bid on (often Sold or Quoted), and treat the others as secondary. Otherwise bidding optimises for people who chat but don't buy.
You can also send any other outcome your firm records, such as Commission paid. On the connection, under Outcomes sent as conversions, choose the outcome, its Google Ads conversion action or Meta event name, and the money measure to use as its value.
Who is sent#
Only people who came from your own ads:
- With a click id. When a visitor arrives from an ad, Subcontext stores the
click id from the address:
gclid,gbraidorwbraidfor Google, andfbclidfor Meta. A conversion is sent against that click, or against the click the person first arrived on, as long as the platform still credits it (90 days for both). The embeds also send a click remembered from an earlier page on your website, or found in your Meta pixel's or Google tag's cookies, with the time it was first seen; the 90 days count from then. See Ad clicks across pages. - Without a click id, only for outcomes, and only with enhanced matching turned on: a lead who came from that platform's paid traffic but whose click id wasn't kept is sent on their hashed email address and phone number instead.
A Meta _fbp cookie on its own never causes a conversion to be sent: the
pixel sets it for every visitor, ad or not. It only helps Meta match a
conversion that is sent anyway.
What each conversion contains#
Google Ads (offline click conversions):
| Field | Value |
|---|---|
conversionAction |
The conversion action you chose. |
gclid, gbraid or wbraid |
The click id, when there is one. |
conversionDateTime |
When the step or outcome happened. |
orderId |
Subcontext's own reference for this conversion, so it's never counted twice. |
conversionValue, currencyCode |
The value and currency, when there is a value. |
userIdentifiers |
Only with enhanced matching: the SHA-256 hash of the email address (trimmed, lower case) and of the phone number (digits and + only). |
Meta (Conversions API, to your Pixel):
| Field | Value |
|---|---|
event_name |
The step's event name, or the one you chose. |
event_time |
When it happened. |
event_id |
Subcontext's own reference, so a retry is counted once. |
action_source |
website when there's a click id, system_generated when matched on email and phone alone. |
event_source_url |
The page the person arrived on. |
user_data.fbc |
Your Meta pixel's _fbc cookie, as the visitor's browser had it, when it carries the click being sent. Otherwise built from the fbclid and when the click was first seen. Only with a click id. |
user_data.fbp |
Your Meta pixel's _fbp cookie (Meta's id for the browser), when your website has the pixel. Sent with any conversion that is sent, with or without a click id. |
user_data.client_user_agent |
The person's browser, from their visit. |
user_data.em, user_data.ph |
Only with enhanced matching: the SHA-256 hash of the email address (trimmed, lower case) and of the phone number (digits only). |
custom_data.value, custom_data.currency |
The value and currency, when there is a value. |
The email address and phone number are never sent unhashed. If your website also fires the same event from the Meta Pixel in the browser, Meta counts it twice, because the two events have different ids: send each event one way only.
Time limits and corrections#
- Google Ads takes conversions up to 90 days old. A reversed outcome is retracted, an outcome whose value arrives later is updated, and a cancelled sale's conversion is retracted while Google still takes changes to it.
- Meta takes conversions up to 7 days old; older ones are skipped. It can't take a conversion back, so a reversed or cancelled sale stays sent.
Failed sends are retried up to 5 times. If the platform rejects the sign-in,
the connection is marked as needing to be connected again and your managers
are told. For Meta that includes its "invalid or expired access token" answer
(error code 190), which arrives as a 400 rather than a 401.
Consent and your privacy notice#
- Subcontext sends conversions for people who clicked your ads. It doesn't check each person's marketing consent before sending, so your privacy notice needs to say that you share what happened after an ad click with the ad platform to measure your advertising.
- Enhanced matching is off until a manager turns it on. It sends hashed email addresses and phone numbers, which the platforms match against their own users. Turn it on only if your privacy notice covers it.
- Hashing hides the details in transit, but the platforms can still match them to an account. Treat it as sharing personal data.
- Meta's and Google's own terms for these features (Google's customer data policies, Meta's Business Tools terms) apply to your account.