Google Ads integration

Push qualified leads and real revenue back to Google Ads so Smart Bidding learns from outcomes, not form fills.

The Google Ads integration is two-way:

  • Push: qualified leads, quotes and orders become offline conversions in your Google Ads account, so Smart Bidding optimises toward leads that turn into revenue — not just form fills.
  • Pull: when a lead arrives with a Google click ID (gclid), Syft fetches the campaign, keyword, device and location behind that click and attaches them to the lead.

Only leads with a gclid are involved — organic and direct leads are left alone.

A) Create the offline conversion actions

In Google Ads:

  1. Go to Goals → Conversions → New conversion action → Import → Other data sources or CRMs → Track conversions from clicks.
  2. Create three actions:
    • MQL — category Submit lead form, no value
    • Quote — category Submit lead form, include value
    • Won — category Purchase, include value
  3. Mark all three as Secondary — this avoids double-counting with your existing tag-fired conversions.
  4. Note each action’s resource name (it looks like customers/1234567890/conversionActions/123).
  5. In Syft, enter your Google Ads account ID and the resource names under Settings → Google Ads — Offline Conversions.

This is the main event: instead of only adding new conversions, Syft updates the value of your existing tag-fired conversion. Your form-fill conversion fires at zero value as usual; when the quote or order lands weeks later, the same conversion is restated to the real amount. Smart Bidding then learns from actual revenue.

Setup (requires Google Tag Manager):

  1. Note the conversion action ID of your existing tag-fired conversion (the one that fires on form submit).
  2. In Syft, enter it as the Restatement conversion action.
  3. In GTM, edit that conversion tag to include a Transaction ID parameter.
  4. Set the Transaction ID to read transaction_id from the kq_attr cookie (a Custom JavaScript or 1st-party-cookie variable).
  5. Nothing changes on the site itself — the attribution snippet already generates a unique transaction_id per visitor.

C) How it behaves day to day

  • A lead qualifies as MQL → a new offline conversion is created against its gclid (reporting).
  • A quote or order is imported for a lead that has a transaction_id → the original tag-fired conversion is restated with the real value (Smart Bidding).
  • A quote or order without a transaction_id (older leads, calls where the snippet didn’t run) → falls back to creating a new offline conversion, if you’ve configured the optional Quote/Won fallback actions.
  • Uploads run on a queue processed every 6 hours; your Syft admin can trigger it manually.

API credentials (OAuth client, refresh token, developer token) are configured per instance by your Syft admin — not in organisation settings. You only supply the account ID, optional manager (MCC) ID, and the conversion action resource names.