Google Ads Conversion Tracking (Server-Side)

Measure your Google Ads campaigns on real leads. Our server-side integration sends every form submission to Google Ads as a conversion — no tag to maintain, no Google Tag Manager project, and no data lost to ad-blockers.

Server-side tracking requires an active Growth or Business plan.

Check our pricing page for more details.

Why Use Google Ads Server-Side Tracking?

The classic setup — a Google Ads tag (gtag.js) fired from a "thank you" page — lives entirely in the visitor's browser. Ad-blockers, Safari's ITP, cookie restrictions, consent banners and modern AJAX forms that never reload the page all eat into it. The result is fewer conversions reported than leads you actually received, and a smart bidding strategy trained on incomplete data.

Our Google Ads integration solves this by sending your conversions directly from our servers to Google, using Google's own Data Manager API — the API Google provides for ingesting conversion events server-side.

Key Benefits

1. Reliable Data

Conversions arrive in Google Ads even when the visitor blocks trackers, clears cookies, or never reaches a "thank you" page. Your reporting reflects the leads in your dashboard, not the subset that survived the browser.

2. Enhanced Conversions for Leads

Every event can carry the first-party data your visitor typed into the form — email, phone number, name, address — normalized and hashed before it leaves our servers. Google uses that data to match more web conversions back to the click that produced them, which improves attribution, reporting, and automated bidding.

3. No Tag and No Tag Manager

There is nothing to install on your website for this tracking path. No gtag.js snippet, no GTM container, no trigger or variable to break the next time someone redesigns a landing page.

4. Accurate Campaign Reporting

Each conversion is delivered to a specific conversion action in your Google Ads account, so it lands exactly where your bidding strategies and campaign columns look for it.

5. Privacy & Security

  • Consent-Aware: we automatically respect the consent preferences collected on your site. Nothing is sent unless the visitor granted the required advertising consent.

  • Hashed User Data: personally identifiable information is never sent in plain text. Values are normalized and hashed prior to transmission.

  • Secure Transmission: data travels server-to-server from our infrastructure to Google, minimizing the surface area for tracking interference.

How It Works

  1. The click. A visitor arrives on your site from a Google Ads click. The click identifier and the surrounding context (device, page, and attribution signals) are captured with the visit.

  2. The submission. The visitor fills in and submits your form. We record the submission together with the consent state that was in effect at that exact moment.

  3. The consent check. Before anything leaves our servers, we verify the consent state. Server-side dispatch requires at least ad_storage consent.

  4. The server-to-server transfer. We build the conversion event and send it to Google Data Manager, addressed to your Google Ads account and conversion action. Hashed user data is attached only when ad_user_data consent was granted.

  5. The attribution. Google matches the conversion to the original click and reports it against your conversion action. There is no event name involved — the conversion action itself is the identity of the conversion.

  6. The verification. You can review the delivery status of every event directly in your Branchside dashboard (see Testing Your Setup).

Our platform integrates seamlessly with the Google Consent Mode v2 standard. We automatically inspect the window.dataLayer on your site.

For server-side tracking events to be dispatched to Google Ads, the user must have granted consent for at least ad_storage. If ad_storage consent is missing or denied, no server-side event is sent. To include Personally Identifiable Information (PII) with the event data, the user must also grant ad_user_data consent.

Before You Start

Two requirements live on the Google Ads side, and both are common sources of errors later:

1. The right account access

The Google account you connect in Step 2 must have access to the Google Ads account that owns your conversion action — and enough permission to work with conversions in it. If it doesn't, Google rejects the events with a "The caller does not have permission" error (PERMISSION_DENIED). Ask your account administrator to add the user in Google Ads under Admin ⇒ Access and security, or simply connect with a Google profile that already manages the account.

2. Enhanced conversions for leads enabled

Your Google Ads account must have enhanced conversions for leads turned on. Without it, Google Ads cannot accept the hashed first-party data that makes server-side lead tracking valuable, and the integration reports: The destination account is not enabled for enhanced conversions for leads. Enable it in your Google Ads conversion settings before you configure the form.

Both items are account-side configuration. Connecting Branchside to Google can complete successfully while conversions still fail with these errors — so check them first.

Setup & Configuration

Step 1: Prepare the Conversion Action in Google Ads

  1. Sign in to Google Ads and open Goals ⇒ Conversions.

  2. Create a new conversion action or open the existing one you want your form submissions to report into.

  3. Copy the Conversion type ID — the numeric value shown in the conversion action details. You'll paste it in Step 3.

  4. Note the Google Ads account ID of the account that owns this conversion action, in the XXX-XXX-XXXX format. If your accounts are managed through a manager (MCC) account, use the ID of the child account that holds the conversion action — not the manager account ID.

Google Ads does not use event names for these conversions. The conversion action is the identity, so everything you name a conversion in your dashboard is purely for your own reference.

Step 2: Connect Branchside to Google

  1. In your Branchside dashboard, go to Integrations ⇒ Google Data Manager.

  2. Click the "Authenticate" button in the top-right corner.

  3. Sign in with the Google account that has access to your Google Ads account.

  4. Review Google's permissions request and approve it. We ask for the minimum needed:

    • Google Data Manager — to ingest conversion events into your Google Ads account.

    • View your email address and View your profile — only to identify the account you connected and display its name in your dashboard.

  5. You are returned to Branchside, where the connected Google account is listed.

The connection is created for your whole organization, so you authorize Google once and every team member can reuse it across forms.

Anyone with access to your organization can see this connection. You can disconnect it or switch to a different Google account at any time from the same screen.

Step 3: Add the Google Ads Conversion to Your Form

  1. Open the form you want to track and go to the "Conversion tracking" section.

  2. Click the "+ Add new conversion" button.

  3. Select "Google Ads" as the platform and click the "Add" button.

  4. Click "Details" next to your new Google Ads conversion.

  5. Click the "Set up server-side tracking" button.

  6. Select the Google account you authenticated in Step 2.

  7. Enter the Google Ads account ID — the account that owns the conversion action (XXX-XXX-XXXX).

  8. Enter the Conversion type ID — the value you copied in Step 1.

  9. Click the "Save" button in the pop-up window.

  10. Finally, click "Save changes" to save your form.

From now on, every new submission that passes the consent check is sent to that conversion action automatically.

Step 4: Field Mapping (Sending PII)

Mapped fields are what turn a plain conversion into an enhanced conversion for leads.

  1. On the form edit page, navigate to the "Conversion tracking" section.

  2. Click on "Field mapping".

  3. Expand the "Google" section. The available user data fields cover the standard enhanced-conversions values: email, phone number, first name, last name, and address fields (country, state/region, city, postal code).

  4. Select the appropriate form field for each Google parameter (e.g., Email, Phone Number, First Name).

  5. Save your form.

Remember that sending PII requires the user to grant ad_user_data consent.

Pro tip:
You can use a hidden field with a predefined value to map it to Google parameters.

For example, if you run a local business, you can add a hidden field with a two-letter country code and map it to the Country parameter. Our system hashes the value and sends it with every server conversion.

Testing Your Setup

  1. Make sure your site implements Google Consent Mode v2 and that advertising consent is granted. Without ad_storage consent, no server-side event is dispatched.

  2. Submit a test entry through your published form. Ideally, open the page from a Google Ads click so the visit carries a click identifier.

  3. In Branchside, click "View Submissions" next to your form, then the "Server Events" button on the entry. You'll see every event sent for that submission and whether it was delivered, is still pending, or failed.

  4. In Google Ads, open your conversion action and allow for reporting latency: server-side conversions typically appear within a few hours and can take up to 24 hours (occasionally longer) to show in your columns.

Test submissions from organic or direct traffic still count as conversions, but they carry no click identifier, so Google cannot attribute them to a specific click or campaign.

Troubleshooting

"The caller does not have permission"

Cause: the Google account you connected does not have sufficient access to the Google Ads account (or the specific account that owns the conversion action).

Fix: connect with a Google profile that can manage the relevant Google Ads account, or have an administrator grant the current user access in Google Ads under Admin ⇒ Access and security.

"The destination account is not enabled for enhanced conversions for leads"

Cause: enhanced conversions for leads is switched off in the Google Ads account you are sending to.

Fix: enable enhanced conversions for leads in that Google Ads account's conversion settings (Goals ⇒ Conversion settings ⇒ Enhanced conversions for leads). Events sent while the feature was disabled are rejected, so submit a test entry and verify it with the "Server Events" button.

No Conversions Arrive at All

Work through this checklist:

  • Consent. ad_storage was denied at the time of submission, so nothing was sent. This is expected behavior, not a failure.

  • Wrong account or conversion type ID. A typo sends events to an account that doesn't own the conversion action. With a manager (MCC) account, always use the child account ID.

  • Server-side tracking isn't saved. The conversion was added to the form, but the server-side setup or the form itself wasn't saved after the change.

  • The conversion action is inactive. Paused or deleted conversion actions won't show incoming conversions.

Double-Counted Conversions

If you still fire the same form conversion from a browser-side tag (gtag.js or Google Tag Manager) and from Branchside, you may see it twice. Server-side tracking is designed to replace the browser tag for form submissions — send each conversion from one place.

Important Limitations

Server-side dispatch requires ad_storage consent, and PII requires ad_user_data consent. We never override a visitor's choices.

IP Address Matching

For Google Ads, IP address matching is not supported for end users in the European Economic Area (EEA), United Kingdom (UK), or Switzerland (CH).

One Conversion Action Per Setup

Each Google Ads conversion you configure points at a single conversion action in a single Google Ads account. To report the same form into several conversion actions — or into several Google Ads accounts — add one conversion for each. You can reuse the Google account you authenticated across all of them.