← Field Notes

Salesforce Google Ads Integration: A Practical Guide

August 9, 2026 18 min by Eric Huebner
Salesforce Google Ads Integration: A Practical Guide

The fastest path to a working Salesforce Google Ads integration depends on what you actually need from it. For most teams, Google Ads Data Manager is the right starting point: it handles offline conversion imports and audience syncs natively, requires no custom code, and connects directly to Salesforce Lead, Opportunity, and Order objects. If you’re ingesting lead form submissions in near-real time, the Google Ads API or lead form webhook is the right layer. For simple, low-volume workflows where speed matters more than precision, Zapier gets you there in a day. And if you’re spending $25K or more per month and need keyword-level attribution or historical backfills, a proper ETL pipeline into BigQuery or Snowflake is the only architecture that gives you the data fidelity to make those decisions well.

Here’s how to pick your path:

The core trade-off is speed vs. granularity vs. governance. Data Manager is fast but campaign-level. ETL is slow to build but gives you every click, every keyword, every dollar.

Pro Tip: Before choosing a path, audit your landing pages for GCLID capture. If your forms aren’t writing the Google Click ID into Salesforce, no integration method will produce accurate attribution.


Key Takeaways

The most reliable Salesforce Google Ads integration starts with GCLID capture on every landing page, uses Google Ads Data Manager for offline conversion imports, and upgrades to an ETL stack only when keyword-level attribution or historical backfill becomes a business requirement.

Point Details
Choose the right path first Data Manager for most teams; ETL/warehouse for $25K+/mo accounts needing keyword-level attribution.
GCLID capture is the foundation A missing GCLID__c field on Salesforce records breaks attribution regardless of which integration method you use.
Migrate to enhanced conversions Legacy offline import was deprecated May 31, 2025; enhanced conversions for leads improves match rates and cross-device attribution.
Watch the 60-day storage window Google Ads stores lead form submissions for up to 60 days; automate ingestion to avoid permanent data loss.
North Country Consulting Senior-led Google Ads management for $25K+/mo advertisers, including measurement setup and offline conversion tracking.

Table of Contents

Which Salesforce objects and permissions does the integration require?

Getting the prerequisites right saves days of debugging later. The integration touches specific Salesforce objects, fields, and API settings, and missing any one of them is the most common reason setups fail.

Supported objects

Google Ads Data Manager supports three Salesforce objects: Lead, Opportunity, and Order. Which one to use depends on your conversion definition:

Required fields to capture and map

These fields need to exist in Salesforce before you configure the connection:

Permissions and API settings

Integration failures most often trace back to missing API access or insufficient permissions. Before connecting:

Critical environment note: Google Ads Data Manager does not support Salesforce sandbox environments. You cannot test the connection against a sandbox org. Plan your testing carefully — use sample production data patterns and validate field mappings before connecting to your live CRM.

Pro Tip: Create the integration user with the minimum permissions required and document every object and field it can access. This makes security audits faster and reduces the blast radius if credentials are ever compromised.


How to connect Salesforce to Google Ads using Data Manager

This is the recommended path for most teams. Follow these steps in order.

Pre-checks

Before opening Data Manager, confirm:

  1. You have Google Ads admin access (account-level, not manager-level only)
  2. The Salesforce integration user is created with the permissions listed above
  3. The Asynchronous API is enabled in Salesforce
  4. The GCLID__c custom field exists on the Lead or Opportunity object
  5. Auto-tagging is enabled in your Google Ads account settings

Step-by-step connection

  1. In Google Ads, navigate to Tools → Data Manager
  2. Click Add data source and select Salesforce
  3. Choose your use case: Audiences (for Customer Match syncs) or Conversion actions (for offline conversion import)
  4. Enter your Salesforce instance URL and the integration user credentials
  5. Authorize the connection and allow Data Manager to read your Salesforce schema
  6. Select the object to import from (Lead, Opportunity, or Order)
  7. Apply a filter to select only the rows you want to import as conversions (example: StageName = "Closed Won")
  8. Map fields to Google identifiers (see the table below)
  9. Set the conversion action this import should feed
  10. Save and run a sample import with a small date range to verify row counts before enabling the full sync

Field mapping reference

Salesforce Field Google Ads Identifier Notes
GCLID__c Google Click ID Primary match key; required for standard offline import
Email Hashed Email Used for enhanced conversions for leads
Phone Hashed Phone Used as fallback identifier
CloseDate Conversion Time Must be in ISO 8601 format, UTC
Amount Conversion Value Map currency to match Google Ads account currency
StageName Filter condition Use to select only Closed-Won rows

Migration note: legacy integration deprecation

If your account was using the legacy Salesforce connector inside Google Ads (the older “Linked accounts” path), that integration was deprecated as of May 31, 2025. Any account still relying on it needs to migrate to Data Manager. The migration isn’t automatic. You’ll need to recreate your conversion actions under the Data Manager framework and re-map your fields. Check your conversion action source in Google Ads to confirm which path is currently active.

Pro Tip: Run both the legacy import and the new Data Manager import in parallel for 2–3 weeks before cutting over. Compare conversion counts daily. If they diverge by more than a few percent, there’s a field mapping issue to resolve before you decommission the old connection.


How should you map Salesforce data to Google conversion actions?

Field mapping is where most integrations quietly break. The connection succeeds, data flows, and then six weeks later someone notices the conversion counts are wrong because a timestamp was off or a GCLID was missing from half the records.

Mapping patterns that hold up in production

The table below shows the field-level mapping for a standard Closed-Won offline conversion import:

Which object to use and when

Use Lead when your conversion event is the initial form fill and you want to measure cost-per-lead. Use Opportunity when you want to measure cost-per-pipeline-stage or cost-per-revenue. The highest-leverage configuration is mapping Closed-Won Opportunity records back to Google Ads as offline conversions, because it lets Smart Bidding optimize for actual revenue rather than top-of-funnel volume.

Mapping warning: Partial GCLID capture is the most common silent failure in this integration. If only 40% of your leads have a GCLID__c value populated, Google can only match 40% of your conversions back to clicks. The other 60% disappear from attribution entirely, which makes your campaigns look less effective than they are and causes Smart Bidding to under-invest in your best keywords.

When multiple Opportunity records exist for a single GCLID (a lead that converted twice), Google will count both. Add a de-duplication filter in your import logic, or use the earliest CloseDate per GCLID as the canonical conversion.

Timestamp alignment matters more than most teams expect. Google Ads requires the conversion timestamp to fall within the lookback window of the original click. If your CloseDate is stored in local time and you upload it without converting to UTC, conversions will be attributed to the wrong day or rejected entirely.

Pro Tip: Persist the GCLID in a first-party cookie on landing-page load, then populate a hidden form field named GCLID__c that writes directly to the Lead record on submission. This is the most reliable way to capture GCLIDs across multi-page flows and form redirects, as described in this implementation guide.


Which object to use and when — overview diagram

Enhanced conversions for leads vs. legacy offline conversion import

Google’s recommendation is clear: migrate to enhanced conversions for leads. The legacy offline conversion import method still works for accounts that haven’t moved, but it’s no longer the recommended path for new setups.

What each method does

Legacy offline conversion import works by uploading a CSV (or via API) that contains a GCLID and a conversion timestamp. Google matches the GCLID to the original click and credits the conversion. It’s straightforward but brittle: if the GCLID is missing, the conversion is lost.

Enhanced conversions for leads adds hashed first-party identifiers (email, phone) as additional match keys. When a GCLID isn’t available (because the user cleared cookies, switched devices, or came through a cross-device path), Google can still match the conversion using the hashed PII. This produces higher match rates and more complete attribution.

Practical differences

Pro Tip: If your sales cycle is longer than 90 days, enhanced conversions for leads becomes even more valuable. Long cycles mean more device switches and more cookie expiration events between click and conversion. The hashed email fallback recovers a meaningful share of those conversions that legacy import would miss entirely.


Lead-form handling: webhook vs. Google Ads API for near-real-time ingestion

When you’re running Google Ads lead form assets, leads don’t automatically land in Salesforce. You need to actively pull or receive them. Google Ads supports two primary methods: webhook delivery and Google Ads API retrieval.

Webhook approach

  1. Configure a customer endpoint URL in your Google Ads lead form settings — this is the URL Google will POST lead data to when a form is submitted
  2. Set a webhook key (a shared secret) that Google includes in each request so your endpoint can verify the payload is legitimate
  3. Build a receiver on your CRM or middleware layer that accepts the POST, validates the key, and writes the lead to Salesforce
  4. Map the incoming fields (name, email, phone, campaign ID, ad group ID) to the corresponding Salesforce Lead fields
  5. Return a 200 HTTP response within a few seconds or Google will retry

The webhook approach is as close to real-time as this integration gets. Leads arrive within seconds of form submission, which matters for sales teams with fast follow-up SLAs.

The API path requires a developer token and a manager account with the correct access level. Once configured, the Google Ads API can retrieve up to 60 days of lead form submissions and supports near-real-time retrieval when polled frequently.

Key considerations:

Pro Tip: Don’t rely on manual CSV downloads for production lead ingestion. The 60-day storage window creates real urgency — a missed download during a vacation week or a system outage can mean permanent data loss for leads that never made it into Salesforce.


When does Zapier make sense, and when does it fall short?

Zapier supports Google Ads to Salesforce workflows for lead form delivery and offline conversion uploads. For small teams running straightforward flows, it’s a legitimate option. For enterprise measurement, it has real limits.

Where Zapier works well

Where Zapier falls short

For production-critical workflows, add logging at the Zap level and set up Zapier’s built-in error notifications. A marketing automation checklist that covers webhook and automation workflow guardrails can help you structure the right retry and backfill strategy before you go live.


Common errors and diagnostics when the connection fails

Most integration failures fall into a small set of categories. Work through this checklist before escalating.

Quick diagnostic checklist

Common error messages and fixes

Using Data Manager diagnostics

Inside Data Manager, each data source has a Diagnostics tab that shows the last sync status, row counts, and any error codes. Check it weekly during the first month after setup. If row counts drop suddenly, it usually means a Salesforce field was modified or the integration user’s permissions changed.

Pro Tip: Create a dedicated Salesforce report that shows Closed-Won Opportunities from the last 30 days with their GCLID__c values. Run it weekly and compare the count to your Google Ads offline conversion imports. A persistent gap between the two numbers is your earliest signal that something in the data flow has broken.


When should you move beyond native connectors to an ETL approach?

Native connectors are the right starting point. They’re not always the right ending point.

Decision criteria

Consider moving to an ETL/data warehouse architecture when:

Example architecture

Practitioners use ETL/ELT pipelines to centralize Google Ads and Salesforce data into a warehouse for click-level attribution. A typical stack looks like this:

The GCLID is the join key. Every row in your Google Ads click export has a GCLID. Every Salesforce Lead or Opportunity with a populated GCLID__c can be joined to it. The match rate on that join is your attribution coverage.

Trade-offs

This architecture takes 4–12 weeks to build properly and requires dedicated engineering time. The payoff is complete data ownership, keyword-level visibility, and the ability to run attribution models that native connectors can’t support. For teams at $25K+/month in ad spend, the ROI on that investment is typically clear within one quarter.

Pro Tip: Implement a GCLID-first ingestion pattern in your ETL: always extract the GCLID column first and use it as the primary key for deduplication. This reduces lost-match rates caused by duplicate rows and ensures your join quality stays high as data volumes grow.


What does setup actually cost and how long does it take?

Typical timelines

Cost drivers

Governance controls

For a periodic data quality review, a monthly check of conversion counts against Salesforce Closed-Won records is the minimum. Quarterly, review field mappings against any Salesforce schema changes your admin team has made.


What the integration usually gets wrong, and how to avoid it

The GCLID problem is more widespread than most teams realize. A significant share of Google Ads integrations with Salesforce are technically “working” — Data Manager is connected, conversions are importing — but the match rate is so low that the data is nearly useless for bidding. The form captures the lead. The GCLID never makes it to Salesforce. Smart Bidding sees a fraction of actual conversions and optimizes accordingly, which means it’s flying partially blind.

The sandbox restriction is the second trap. Teams build their entire integration against a Salesforce sandbox, get it working perfectly, then connect Data Manager to production and discover the connection behaves differently because the schema diverged. Plan for production-only testing from the start, even if that means being more careful about creating test records.

My broader recommendation for high-spend advertisers: treat the integration as infrastructure, not a one-time setup task. Field mappings break when Salesforce admins rename fields. Permissions change when integration users are deactivated. Conversion counts drift when stage names are updated. A monthly audit of conversion counts against Salesforce Closed-Won records catches these failures before they compound into a quarter of bad bidding data.

When the data volume or attribution complexity grows past what native connectors can handle, don’t delay the ETL decision. The cost of running Smart Bidding on incomplete data at $50K/month in ad spend is almost always larger than the engineering cost of building the warehouse integration properly.


What the integration usually gets wrong, and how to avoid it — overview diagram

North Country Consulting handles the measurement so you can focus on growth

For advertisers spending $25K or more per month on Google Ads, getting the Salesforce integration right isn’t optional — it’s the difference between Smart Bidding that optimizes for revenue and Smart Bidding that optimizes for form fills. North Country Consulting builds and manages exactly this kind of measurement infrastructure as part of its senior-led Google Ads management service. The team has managed over $40 million in ad spend and averages an 8.7× return on ad spend across accounts, with offline conversion tracking and attribution model setup included in every engagement.

North Country Consulting

If your current setup has gaps in GCLID capture, a legacy integration that hasn’t been migrated, or conversion data you don’t fully trust, a free strategy audit will surface exactly where the measurement is breaking down. Request your free audit and get a senior-level review of your Google Ads account and Salesforce integration within the week.

Sources

The following resources were used in building this guide and are worth bookmarking for implementation:


◆ Related service

Want this run by a senior-led team with real operational rigor? See our Google Ads agency — or size up the field in the best Google Ads agencies of 2026.

◆ Free audit

Running $25K+/mo on Google?
Let's see what it’s actually doing.

A real, written audit returned by Eric inside one business day. No pitch decks. Senior oversight, start to finish. Learn more about our Google Ads agency.

Request a free audit →