Before you begin

  • Confirm the Google Ads account can use lead form assets for the campaign type and region.
  • Add your public privacy-policy URL to the Google lead form.
  • Decide which lead form questions you need: name, email, phone, company, postal code, service, or custom questions.
  • Have the InstaChime shared secret ready. Use the same value as the Google webhook key.

Send Google test data

  • In the Google lead form webhook area, select `Send test data` after the webhook URL and webhook key are entered.
  • Wait for Google to show a successful response. Google expects the endpoint to return HTTP 200 for the test.
  • Open `/app` in InstaChime and confirm a test lead appears.
  • Confirm the lead includes contact fields selected in the form, plus Google IDs such as lead ID, form ID, campaign ID, and test status when Google sends them.
  • If Google reports an incorrect response, compare the webhook URL, confirm the key has no extra spaces, and retry the test before saving the form.
  • After the Google test succeeds, complete one end-to-end test through alerts and CRM or sheet delivery.

How InstaChime maps Google fields

  • `lead_id` is used as the source lead ID for dedupe.
  • `google_key` is compared with the configured shared secret when provided.
  • `user_column_data.column_id` is preferred over the display label because labels can change.
  • `FULL_NAME`, `FIRST_NAME`, `LAST_NAME`, `EMAIL`, and `PHONE_NUMBER` map to the normalized lead contact fields.
  • `campaign_id`, `adgroup_id`, `creative_id`, `asset_group_id`, `gcl_id`, and `lead_submit_time` remain available in the raw lead fields.

Sample payload

curl -X POST https://instachime.com/api/webhooks/capture \
  -H "content-type: application/json" \
  -H "x-instachime-secret: YOUR_SHARED_SECRET" \
  -d '{
    "google_key": "YOUR_SHARED_SECRET",
    "lead_id": "google-test-001",
    "campaign_id": "123456789",
    "form_id": "987654321",
    "is_test": true,
    "user_column_data": [
      {"column_id": "FULL_NAME", "string_value": "Alex Morgan"},
      {"column_id": "EMAIL", "string_value": "alex@example.com"},
      {"column_id": "PHONE_NUMBER", "string_value": "+15555550123"}
    ]
  }'

Verify

  • Use the Google Ads test button and confirm Google shows a successful 200 response.
  • Open `/app` and confirm the test lead appears with source `google_ads` or the source label sent by the form.
  • Confirm the lead includes the original Google IDs in its raw fields.
  • Submit a second test with the same `lead_id` and confirm duplicate handling.
  • Confirm alerts and CRM webhook deliveries are visible in `/integrations`.

Exact Google Ads console path

  • Open Google Ads and select the customer account that owns the campaign.
  • For a new campaign, go to Campaigns, create a Leads campaign, choose an eligible campaign type, and create the lead form asset during campaign setup.
  • For an existing asset, go to Campaigns, open Assets, filter or switch to Lead form assets, and edit the correct form.
  • Expand `Export leads from Google Ads`.
  • Expand `Other data integration options`.
  • Paste `https://instachime.com/api/webhooks/capture` as the webhook URL.
  • Paste the InstaChime shared secret as the webhook key.
  • Click `Send test data` before saving the form.
  • Save the lead form only after Google reports that the test data was delivered successfully.

Required Google form choices

  • Add a privacy policy URL that is publicly accessible and matches the advertiser collecting the lead.
  • Ask for `Full name` or both `First name` and `Last name`.
  • Ask for `Email` and `Phone number` if your sales workflow needs both.
  • Add qualifying questions such as service, budget, timeline, preferred location, or preferred contact time when they help routing.
  • Keep question labels stable after launch because downstream mapping and reporting often depend on them.

Google field handling in InstaChime

  • Use `lead_id` as the strongest dedupe key.
  • Use `google_key` only for validation; do not display it in dashboards or exports.
  • Prefer `user_column_data.column_id` for mapping because Google notes that `column_name` can be unavailable or deprecated.
  • Keep campaign, ad group, creative, asset group, GCLID, lead stage, lead source, and submit time in raw fields for reporting.
  • Use `is_test` to identify test submissions in operational review.

Official references

These vendor-owned pages explain the controls and requirements referenced in this guide.