Ad conversions

Hey Glancy can send your conversions (purchases, sign-ups, leads…) to Meta and Google Ads from the server, so the platforms can credit and optimise your campaigns without their pixels on your site. You track events with Hey Glancy once; Hey Glancy passes the ones you choose on. Open Integrations → Catalog → Destinations in Hey Glancy and pick the platform to set it up (bucket admins).

How it works

  1. You add a destination per ad account and map Hey Glancy events to the platform's events, for example Order Completed → Meta's Purchase, or Signed Up → a Google Ads conversion action.
  2. When a mapped event arrives, Hey Glancy queues it and sends it within seconds. If the platform is down or rejects the credentials, Hey Glancy retries for about two days (after 1 minute, 5 minutes, 30 minutes, 2 hours, 12 hours and 24 hours), then gives up. Events that are resent to Hey Glancy (same messageId) are sent once.
  3. Each event goes with what lets the platform recognise the person:
    • their latest ad click on that platform in the last 90 days (fbclid, gclid, gbraid, wbraid), even if they bought days after clicking;
    • their email, phone, name, city, postcode, country and birthday from identify traits (or an email property on the event), normalised and SHA-256 hashed before sending;
    • for Meta, their browser, the page and (unless you turn it off) their IP address.
  4. The delivery log on the platform's page in Integrations shows the last events, their status and which match keys each carried, plus how many events over the last 7 days had a click ID, an email or an IP.

Hey Glancy never loads or fires a third-party pixel. If you still run Meta's pixel too, pass Hey Glancy's messageId as the pixel's eventID so Meta counts the event once.

Hey Glancy reads the visitor's ad consent from context.consent on each event and never sends an event whose visitor said no. With the JavaScript SDKs and the script tag, call this from your consent banner:

glancy.consent({ ads: false }); // or true

It is remembered on the device and sent with every event. From a server or another tool, set the field yourself, in Google Consent Mode terms or Segment's consent categories:

{ "context": { "consent": { "ad_user_data": "denied", "ad_personalization": "denied" } } }
{ "context": { "consent": { "categoryPreferences": { "advertising": false } } } }

Global Privacy Control counts as a no, whatever the banner says: when the browser has GPC turned on (navigator.globalPrivacyControl, or the Sec-GPC: 1 header on requests from the device), Hey Glancy doesn't send that visitor's events. From a server, pass it on as "gpc": true in context.consent.

Google Ads receives the visitor's choice with each conversion, as it requires for people in the EEA. Events without a consent field are sent.

Meta

You need a dataset (pixel) ID and a Conversions API access token: in Events Manager, open the dataset your ads optimise for, then Settings → Conversions API → Generate access token. Events go out as website events (with the page URL and browser) or, from apps and backends, as other.

  • Value: pick the property with the amount (by default the bucket's revenue property). The currency is the event's currency property, else the bucket's. Purchase always sends a value.
  • Products: a Segment-style products array becomes contents and content_ids.
  • Test: paste the code from Events Manager → Test events and press Test, or save it on the destination so every event goes to Test events until you clear it.
  • IP address: on by default. Meta matches people who haven't given an email mostly by IP and browser; turn it off on the destination if you prefer. Hey Glancy only takes the IP from the person's own device (browser and app SDKs, or context.ip), holds it until the event is delivered or given up, and never stores it with events.

Use the same credentials as a Google Ads spend source (the form can copy them from one). For each event you send, create a conversion action in Google Ads → Goals → Conversions with the source Import from clicks, and use its ID (the ctId in its URL). Test checks the credentials and that each rule's action exists.

Google needs a click ID (gclid, gbraid or wbraid) or the person's email or phone (enhanced conversions for leads) to match a conversion; events with none are skipped. order_id (or the messageId) keeps a conversion from counting twice.

Removing a person

Anonymising or deleting a person in Hey Glancy also removes their events from the queue and the delivery log. Events already delivered stay with the platform; remove them there if you need to.