For the complete documentation index, see llms.txt. This page is also available as Markdown.

📈Google Ads Integration

Push offline conversions from your Ring Tonic funnel back to Google Ads so Smart Bidding actually knows which clicks turn into customers. When a lead in Ring Tonic reaches a mapped stage (e.g. Won), Ring Tonic uploads a conversion to your chosen Google Ads conversion action — with hashed identifiers, the originating click ID, and the deal value.

Google Ads integration page — connected and healthy

This integration uses Google Ads' Enhanced Conversions for Leads (ECL). We only ever upload conversions — we never touch your campaigns, ad groups, bids, or budgets.


What This Solves

Without this integration, Google Ads optimizes toward shallow signals (clicks, form submits) because it has no idea which submissions became paying customers. With it, Google sees the full funnel:

Net effect: same ad budget, more closed deals, lower cost per closed customer.


Prerequisites

Before connecting, make sure your Google Ads account has all of these:

Requirement
Where to set it

Customer data terms accepted

Google Ads → Tools → Conversions → Settings → Customer data terms — only an Admin on the account can accept

Enhanced conversions for leads enabled

Google Ads → Tools → Conversions → Settings → Enhanced conversions for leads — toggle on

At least one lead-type conversion action

Google Ads → Tools → Conversions → Goals — categories like "Submit lead form", "Phone call lead", "Qualified lead"

Admin or Standard access for the Google user connecting

Google Ads → Tools → Admin → Access and security


Connecting Your Google Ads Account

1

Go to Settings → Google Ads in Ring Tonic (it's in the Settings sidebar).

Google Ads integration page, before connecting
2

Start the OAuth Flow

Click Connect. You'll be redirected to Google's consent screen, signed in with the Google account you want to grant access from.

Review the requested permission:

See, edit, create, and delete your Google Ads accounts and data.

This is the standard adwords scope — required for uploading conversions. We don't request any other Google scopes.

Click Continue to authorize.

Google OAuth consent screen
3

Pick an Account

Ring Tonic lists every Google Ads customer the signed-in user can access. Manager accounts are tagged [MCC], and sub-customers reached through a manager show the manager ID in the row.

Pick the customer account you want to bind to this workspace, then click Bind account.

Account picker showing accessible Google Ads customers

One Google Ads account per workspace. If you manage multiple advertisers, each one should have its own Ring Tonic workspace with its own Google Ads binding. This keeps mappings and upload attempts cleanly scoped.

4

Health Check Runs Automatically

The moment you bind, Ring Tonic queries Google to confirm the account is ready for uploads. The result appears on the integration page — see the Health Check section below for what each status means.


Health Check

The health check verifies that the connected account satisfies Google's prerequisites for Enhanced Conversions for Leads. It runs:

  • Immediately after Bind account

  • When you click Re-check on the integration page

  • Daily at midnight UTC (background job)

  • Just before any upload, if the cached result is stale (>36h)

Status
Meaning
What to do

Ok

Terms accepted, ECL enabled. Uploads will go through.

Nothing — you're ready to create mappings

TermsNotAccepted

Customer data terms haven't been accepted on this Google Ads account

An Admin on the Google Ads account must accept terms at Tools → Conversions → Settings → Customer data terms

EclDisabled

Enhanced conversions for leads is off

An Admin must toggle it on at Tools → Conversions → Settings → Enhanced conversions for leads

Error

Google API call failed (developer token issue, account suspended, network blip)

Click Re-check after a few minutes. If it persists, see Common Issues

Call conversion mappings are gated differently. The customer data terms and enhanced conversions requirements exist to protect customer details, which imported call conversions don't contain — so TermsNotAccepted and EclDisabled don't block them. See Calls from Google Ads Call Assets.


Google's Consent Mode requires you to send a consent signal for every conversion upload. Ring Tonic resolves consent per upload using this priority:

If neither the form nor the visitor session carries an explicit consent value, Ring Tonic falls back to the workspace defaults set on the integration page. (An Unspecified signal from a form or pageview is treated as "no signal" — only an explicit Granted / Denied overrides these defaults.)

Workspace-level default consent — the fallback when no explicit signal is captured
Signal
What it means
Recommended default

Ad user data

Whether Google can use this conversion to associate with the user's ad interactions

Granted if your privacy policy + cookie banner cover ad measurement

Ad personalization

Whether Google can use this conversion for personalized advertising

Denied unless you explicitly collect consent for personalization

Whatever the resolved ad_user_data value is, if it's Denied, Ring Tonic skips the upload entirely (records skipped_consent_denied). The conversion never reaches Google, in line with Consent Mode policy.


Enhanced Conversions: Name and Address

Email and phone aren't the only ways Google can match a lead back to a click. Google can also match on the lead's name and mailing address. Sending these extra details raises your match rate — more of your leads get tied to the click that produced them — which gives Smart Bidding a cleaner signal. It's optional, and everything is hashed before it leaves Ring Tonic.

Enhanced conversions name & address — map each address component to one of your custom fields

Where the data comes from:

  • First and last name are derived automatically from the contact's name — no setup needed.

  • Street, city, state/region, postal code, and country come from your workspace custom fields. You choose which custom field feeds each component.

1

Capture the details on your forms

Create custom fields for the address details you collect (for example zip and country) and capture them on your lead forms. See Form Submissions for how form inputs map to custom fields.

2

Map each component

On Settings → Google Ads, open the Enhanced conversions: name & address section. For each component — Street address, City, State / region, Postal code, Country — pick the custom field that holds that value. Leave anything you don't collect set to — not mapped —.

Only text and single-select custom fields appear in the dropdowns, since address values need to be plain values.

Click Save address mapping.

Country must be recognizable. Enter countries as two-letter codes (US, GB) or common names (United States, United Kingdom). Ring Tonic converts recognized values to the format Google expects; anything it can't recognize is skipped for that contact.


Mapping Stages to Conversion Actions

A mapping says: "When a contact in this workspace reaches stage X, upload a conversion to this Google Ads conversion action." Open them from the integration page via Configure mappings (breadcrumb: Settings → Google Ads → Mappings).

1

Pick a Stage

The dropdown shows every Ring Tonic funnel stage that's eligible for upload. new is excluded because it's the entry point — only progress through the funnel triggers uploads.

Common picks:

  • Qualified — lead has been validated by sales

  • Appointment booked — committed buying intent

  • Won — the deal closed for actual revenue

2

Pick a Conversion Action

Ring Tonic queries Google Ads and lists every lead-category conversion action in the connected account. Pick the one that should receive uploads for the chosen stage.

Mapping editor — each funnel stage maps to a Google Ads conversion action, with currency and an enable toggle

Use distinct conversion actions per stage. Creating one action for "Qualified Lead" and another for "Closed Deal" lets Google attribute different value to each step in the funnel. Mapping multiple stages to the same action collapses that signal.

3

Set Value and Currency (Optional)

If you've set a default value on the conversion action in Google Ads, leave this empty and Ring Tonic uses the contact's deal_value. If you want to override, enter a fixed value + ISO 4217 currency code.

4

Save

Click Save mapping. From this point, every contact that crosses this stage triggers a queued upload. You can disable a mapping at any time without losing it — toggle Enabled off.

Form Submitted: Every Submission or First Touch

The Form Submitted stage has two extra options that no other stage has, because a single lead can submit your forms more than once.

Form Submitted mapping with the "Upload every form submission" toggle and the optional "Repeat submissions action"
  • Upload every form submission (on by default) — upload a conversion for every form submission, including repeat submissions from a contact you already know. With it off, only a lead's first form submission uploads.

  • Repeat submissions action (optional) — send repeat submissions to a different Google Ads conversion action than first-time submissions. Leave it on Same as first-time to send both to the same action. This lets you value a returning lead differently from a brand-new one.

Double-clicks won't inflate your numbers. If the same contact submits again within 30 seconds — the classic double-click or accidental resubmit — Ring Tonic stores the submission but skips the duplicate upload, so a single intent is never counted twice.

What Gets Uploaded

Per upload, Ring Tonic sends to Google Ads:

  • Hashed user identifiers — SHA-256 of normalized email and phone (lowercased, Gmail dot/+ canonicalization, E.164 phone). Required by ECL — at least one must be present, otherwise the upload skips with skipped_no_identifiers.

  • Hashed name & address (optional) — when you've set up Enhanced Conversions: Name & Address, the contact's name and mapped address are also hashed and sent to raise match rate. This is additive — email or phone is still required.

  • Click IDs — gclid / gbraid / wbraid if captured by the tracking script when the visitor arrived. Strengthens matching.

  • Conversion action resource — the one you mapped to the stage.

  • Value + currency — from mapping or deal_value.

  • Conversion time — when the stage transition happened.

  • Consent flags — ad_user_data, ad_personalization.

  • Order ID — rt:{workspace}:{contact}:{mapping}:{event} — Ring Tonic's deduplication key. Re-running the same event won't double-count in Google Ads.

Everything that identifies the lead is hashed before it leaves Ring Tonic — Google never sees a raw email, phone, name, or street address. We do not send: transcripts, notes, campaign data, or any custom fields other than the address components you explicitly mapped for enhanced conversions.


Counting Repeat Conversions: "One" vs "Every"

When you upload every form submission, how those repeats are counted is controlled inside Google Ads — not Ring Tonic. Each Google Ads conversion action has a Count setting (Google Ads → Goals → Conversions → your action → Count):

Count setting
What it does
When to use it

One

Counts at most one conversion per ad click

Lead generation, where only unique leads matter. Google de-duplicates repeat submissions from the same click for you — even with "Upload every form submission" on.

Every

Counts every upload

When each submission has its own value (quotes, orders). Pair it with a separate Repeat submissions action to bid differently on first-time vs. returning leads.

Most lead-gen advertisers choose One: leave "Upload every form submission" on and let Google's Count setting handle de-duplication. You get complete data in Ring Tonic and clean counts in Google Ads.


Calls from Google Ads Call Assets

If you run call assets (or call-only ads), Google shows a temporary Google forwarding number on your ad instead of your real number. A customer taps it, Google connects the call through to your Ring Tonic tracking number, and the call arrives — but the caller never visited your website.

That means there's no click ID and no visitor session to match on, so the lead and click uploads described above can't attribute the call. Google's answer for exactly this case is imported call conversions: you send the caller's number and the time the call started, and Google matches that pair against its own record of the forwarding-number call.

Ring Tonic supports this as a separate upload path, mapped and reported alongside your lead and click conversions.

This is only for calls that reach a static number campaign through a Google forwarding number. Website Tracker campaigns swap in a tracking number for each visitor, so their calls already carry a session and click ID and stay on the lead and click path.

Before You Start

Requirement
Where to set it

Call reporting turned on

Google Ads → Tools → Conversions → Settings → Call reporting — without it Google never assigns a forwarding number

A call asset pointing at your tracking number

Google Ads → your campaign → Assets → Call

A conversion action for imported calls

Google Ads → Goals → Conversions → New conversion action → Import → Conversions from calls

A static number campaign in Ring Tonic

Ring Tonic → Campaigns — see Campaigns

Setting It Up

1

Create the conversion action in Google Ads

In Google Ads, go to Goals → Conversions → New conversion action and choose Import, then Conversions from calls.

Give it a clear name such as Qualified Call (Imported) and pick a call-related category like Phone call lead.

Set it as a Secondary action first. Secondary actions are recorded and reported but never used by Smart Bidding, so you can confirm calls are matching before they influence how your budget is spent. Promote it to Primary once you're happy with the match rate.

2

Tell Ring Tonic the campaign receives forwarded calls

Open the static campaign in Ring Tonic and click Edit. In the Google Ads Call Assets card, tick This number receives calls forwarded from a Google Ads call asset, then click Update Campaign.

This is a deliberate opt-in. Ring Tonic can't tell from an incoming call whether it came through a forwarding number, so without the toggle it would attempt an upload for every call to every static number — including billboard and print calls that Google has no record of.

The Google Ads Call Assets card on a static campaign, with the forwarding toggle enabled
3

Map stages to your call conversion action

Go to Settings → Google Ads → Configure mappings. Below the lead and click table you'll find Call conversions (Google call assets).

Pick the stage that should report a call conversion — Qualified is the usual choice — and select your imported-call action. Only conversion actions built for imported calls appear here, so you can't accidentally point a call mapping at a click action.

The Call conversions table, mapping the Qualified stage to an imported-call conversion action

What Gets Uploaded

Imported call conversions carry far less than a lead upload, because Google matches on the call itself rather than on the person:

  • Caller's number and call start time — the pair Google matches against its forwarding-number records

  • Conversion action — the one you mapped to the stage

  • Value and currency — from the mapping or the contact's deal value

  • Conversion time — when the stage transition happened

  • Consent signal — the ad user data signal, resolved exactly as it is for lead uploads

No email, phone hashes, name, or address is sent — this path has no use for them. The caller's number is never stored in the upload log either; you'll see it only on the call record itself, where it already lives.

Timing: Why a Call Conversion Isn't Instant

Google needs several hours to index a forwarding-number call before it can be matched. Ring Tonic handles this for you.

If an upload arrives before Google is ready, the attempt is recorded as Pending with the reason Too recent call, and Ring Tonic automatically retries after 6 hours, then after 12. Nothing is lost and you don't need to do anything.

Two Important Behaviors

Flagged campaigns send calls to this path only — never to lead and click uploads

Once a campaign is marked as receiving forwarded calls, its calls use the call path exclusively. If no call mapping exists for the stage, nothing uploads — the call does not fall back to a lead or click upload.

This is deliberate for two reasons:

  1. A caller who never visited your site produces a weak lead-upload signal that Google may attribute to unrelated activity by the same person.

  2. Routing that silently switches paths depending on which mappings happen to exist makes the upload log impossible to interpret.

If you flag a campaign and don't create a call mapping, you'll see attempts recorded as Skipped — not configured for calls, which tells you exactly what's missing.

Avoid double-counting against Google's own call conversions

Google Ads can count calls from your ads on its own, based on call duration, through its built-in "Calls from ads" conversion action. That action and your imported one can both fire for the same call.

If both are set as Primary, the same call is counted twice in your Conversions column and Smart Bidding learns from an inflated number.

Pick one to be Primary:

  • Imported call conversion as Primary — best when a call only counts once your team qualifies it. This is the reason to use Ring Tonic here.

  • Google's duration-based action as Primary — simpler, but counts any call over your chosen length, qualified or not.

Set the other to Secondary so it's still reported without influencing bidding.

Health Requirements Are Different

The two Google Ads prerequisites for lead uploads — customer data terms and enhanced conversions for leads — exist because those uploads contain customer details. Imported call conversions don't, so those two requirements don't apply here.

If your health check shows TermsNotAccepted or EclDisabled, your lead and click mappings are blocked but your call mappings keep working normally. The banners on the integration page say so.

Call mappings do still need a connection that has completed a health check successfully, because that check is also how Ring Tonic learns which account should receive your conversions.


Viewing Upload Attempts

The Recent upload attempts section at the bottom of Settings → Google Ads lists every conversion upload Ring Tonic has attempted, with the result and a sanitized payload (no raw PII). Each row shows the status, contact, funnel event, value, which identifiers were sent (email / phone / address), any click IDs, and the resolved consent signals.

A Type column marks each attempt as Clicks or Calls, so you can tell lead uploads apart from imported call conversions at a glance. Use Filters → Type to show only one kind.

Upload attempts — status, contact, value, identifiers, click IDs, and resolved consent per attempt
Status
Meaning

Success

Google accepted the conversion. It'll appear in your Google Ads account's conversions reporting within ~3 hours.

Failed

Google rejected the call. See error_code + error_message in the row for the specific reason; transient errors are retried automatically up to 3 times with exponential backoff (60s, 5min, 30min)

Skipped — duplicate

A successful upload for the same (event, conversion action) already exists. Ring Tonic prevents double-counting

Skipped — no identifiers

Contact has neither email nor phone, so we can't satisfy ECL's identifier requirement

Skipped — consent denied

The resolved ad_user_data consent was Denied, so the upload was suppressed per Consent Mode policy

Skipped — no integration

The workspace's Google Ads integration was disconnected between dispatch and execution

Skipped — health check failed

Health was non-Ok at execution time

Skipped — mapping disabled

The mapping was toggled off or deleted between dispatch and execution

Skipped — mapping changed

The mapping was repointed at a different conversion action — Ring Tonic refuses to silently redirect the upload

Skipped — plan feature revoked

The workspace owner's plan no longer includes Google Ads uploads (job was queued before downgrade)

These statuses appear only on imported call conversions:

Status
Meaning

Pending — too recent call

Google hasn't finished indexing the call yet. Ring Tonic retries automatically after 6 hours, then after 12 — no action needed

Failed — call not found

Google has no forwarding-number record matching this caller and time. Expected for calls that didn't come from an ad; see Common Issues if it's every call

Skipped — caller ID unavailable

The call arrived withheld, blocked, or with an unusable number. There's nothing to match on, so no upload is attempted

Skipped — not configured for calls

The campaign is marked as receiving forwarded calls, but no call mapping exists for this stage

Scroll the table right to reveal the sanitized Request and Response payload columns — useful for debugging integration issues with your Google Ads admin. Use Filters to narrow by status (e.g. show only Failed) and Columns to choose what's visible.


Common Issues

"TermsNotAccepted" — health check keeps showing this

The Google Ads account hasn't accepted the customer data terms required for Enhanced Conversions for Leads. This is a Google-side gate that can only be unblocked by an Admin on the Google Ads account:

  1. In Google Ads, go to Tools → Conversions → Settings

  2. Expand Customer data terms

  3. Read the policies, tick I have read and accept the terms on behalf of my company, save

If the checkbox is greyed out with the message "Customer data terms for this account must be accepted by an Administrator", the currently signed-in Google user doesn't have Admin role on this account. Ask the account owner to either accept the terms themselves or grant you Admin access at Tools → Admin → Access and security.

After the terms are accepted, return to Ring Tonic and click Re-check — the status should flip to Ok.

"EclDisabled" — Enhanced Conversions for Leads is off

In Google Ads, go to Tools → Conversions → Settings → Enhanced conversions for leads and toggle it on. You'll need to choose between the Google tag and Google Tag Manager implementation paths — pick either, then come back to Ring Tonic and click Re-check.

You only need to enable ECL once per Google Ads account. Ring Tonic itself doesn't require any tag installation — we send identifiers via the API, not via a page tag.

"DEVELOPER_TOKEN_NOT_APPROVED" appears in upload errors

This means Ring Tonic's developer token is not yet approved by Google for production use. Either:

  • Ring Tonic is currently using a Test Account token — it only works against Google Ads test customer IDs (sandbox accounts), not real accounts. This is the initial state for new Ring Tonic installations; we'll roll out approved tokens during onboarding.

  • Or the developer token is pending Basic Access review.

This is a Ring Tonic ops issue, not something you can fix on your side. Contact support and we'll confirm the developer-token state for your workspace.

"CUSTOMER_NOT_ENABLED" appears in upload errors

The Google Ads account being uploaded to is cancelled, suspended, or otherwise disabled on Google's side. Common causes:

  • Billing failed and the account auto-cancelled

  • Google suspended the account for a policy violation

  • The account is brand new and hasn't completed signup yet

Resolve the underlying Google Ads account state (billing, policy review, signup completion). Once the account is back to Enabled in Google Ads, click Re-check in Ring Tonic.

"INVALID_USER_IDENTIFIER" appears in upload errors

Google rejected the hashed email or phone we sent. Almost always because the source contact has a malformed value — e.g. a non-E.164 phone like (555) 1234 instead of +15551234567, or a missing TLD on the email.

Open the contact, fix the bad identifier, advance the stage again. The next upload will succeed.

Every call conversion comes back as "Call not found"

Google has no forwarding-number record matching the caller and time you sent. Work through these in order:

  1. Check call reporting is on in Google Ads at Tools → Conversions → Settings → Call reporting. This is the most common cause — with it off, your ad shows your real number, so no forwarding-number call ever exists.

  2. Confirm the call actually came from an ad. Calls from a billboard, business listing, or someone redialling your number directly will never match, because Google has no record of them. Some Call not found results are normal and expected.

  3. Check the call asset points at the right number — the tracking number on the flagged campaign, not your main line.

  4. Confirm the campaign flag is on the correct campaign. If it's set on a campaign whose number isn't behind a call asset, every call fails to match.

A useful sanity check: filter the upload log to Type: Calls and compare the number of attempts against the calls Google reports for your call asset. If Ring Tonic is attempting far more than Google recorded, non-ad calls are reaching that number.

Call conversions sit at "Pending — too recent call" for hours

This is normal and requires no action. Google needs several hours to index a forwarding-number call before it can be matched, so an upload sent soon after the call is rejected as too recent.

Ring Tonic retries automatically after 6 hours, then after 12. Most calls succeed on one of those retries.

If an attempt is still pending well beyond a day, check that call reporting is enabled — an unindexed call and a never-recorded call can look similar early on, but a never-recorded one eventually settles as Call not found.

Uploads succeed but the conversion never appears in Google Ads reports

Two things to check:

  1. Wait at least 3 hours — Google Ads has a delay between conversion upload acceptance and report visibility. Some attribution refresh windows take up to 24 hours.

  2. Check the conversion action's "Include in 'Conversions'" toggle in Google Ads. If it's off, the conversion is recorded but excluded from the headline Conversions column (and from Smart Bidding learning). This is sometimes intentional (e.g. a test conversion action) — make sure it's on for the action your mapping points to.


Disconnecting

Click Disconnect on the integration page. Ring Tonic immediately:

  1. Clears the encrypted refresh token from the workspace

  2. Disables all mappings for the workspace (they're kept on disk so you can re-enable after re-connect, but they won't fire while disconnected)

  3. Stops dispatching new upload jobs

In-flight upload jobs that were queued before disconnect will skip with skipped_no_integration when they run.

To fully revoke Ring Tonic's access on Google's side, go to myaccount.google.com/permissions and remove Ring Tonic from the list.


Plan Requirements

Google Ads uploads are available on Pro and Agency plans. If your workspace owner's plan changes mid-flight, any queued upload jobs are evaluated against the current plan at execution time:

  • Plan retained or upgraded → uploads proceed as normal

  • Plan downgraded → jobs skip with skipped_plan_feature_revoked and the integration stays connected (no data loss; re-upgrade to resume)


Common Questions

Does Ring Tonic ever modify my Google Ads campaigns?

No. The OAuth scope we request (adwords) technically grants edit access, but Ring Tonic only calls the conversion upload and metadata read endpoints. We never touch campaigns, ad groups, ads, keywords, bids, budgets, audiences, or any account-level settings.

What's the difference between a "conversion" mapping and a Google Ads campaign goal?

A conversion action is the bucket in Google Ads that holds individual conversion events. A Ring Tonic mapping is just our pointer: "when stage X happens, push an event into conversion action Y". One conversion action can be the destination for multiple workspaces; one workspace can map several stages to different conversion actions.

Can I map multiple stages to the same conversion action?

Technically yes — but you'll lose the per-stage signal. Smart Bidding can't tell that "Qualified Lead" and "Won" represent different funnel depths if both feed the same action. Use distinct conversion actions per stage for the best optimization signal.

What happens if a contact moves backward through the funnel?

Backward moves don't trigger uploads — Ring Tonic only fires when a stage advances forward. The one exception is the Form Submitted stage with Upload every form submission on, where repeat submissions from a known contact upload even without a forward move (see Form Submitted: Every Submission or First Touch).

The original event(s) that already uploaded stay in Google Ads (they're real history). If you need to retract a previously uploaded conversion, use Google Ads' conversion adjustments tooling directly.

How are repeat form submissions counted?

It depends on two settings working together:

  1. Ring Tonic — "Upload every form submission" decides whether repeat submissions are uploaded at all. On by default; turn it off to upload only a lead's first submission.

  2. Google Ads — the conversion action's "Count" setting decides whether uploaded repeats are counted. Choose One to count a single conversion per click (recommended for lead gen), or Every to count each one.

A repeat within 30 seconds of the previous submission is always skipped as an accidental duplicate. See Counting Repeat Conversions.

Should I use imported call conversions or Google's built-in call reporting?

It depends on what you want a "conversion" to mean.

Google's built-in "Calls from ads" counts a call once it runs longer than a duration you choose. It needs no setup beyond call reporting, but it can't tell a genuine prospect from a wrong number that talked for two minutes.

Ring Tonic's imported call conversions count a call only when it reaches a funnel stage you chose — typically once your team has qualified it. Smart Bidding then optimizes toward calls that turn into real opportunities rather than calls that merely lasted a while.

Many advertisers run both, with one set as Primary and the other Secondary. See Avoid double-counting before turning both on.

Can one campaign send both lead and call conversions?

Yes, but not for the same call.

A static campaign marked as receiving forwarded calls sends its calls through the imported call path. If that campaign also has form tracking enabled, its form submissions continue to upload as lead conversions in the usual way.

What never happens is one call producing both kinds of upload — that would double-count a single conversion.

Why does a withheld or blocked caller ID skip the upload?

Imported call conversions match entirely on the caller's number and the call time. When a caller withholds their number, there's nothing to match against, so an upload would always fail.

Ring Tonic recognizes withheld and blocked calls — including the placeholder numbers some carriers substitute — and records the attempt as Skipped — caller ID unavailable instead of sending a request that can only be rejected.

The call itself is still logged in Ring Tonic as normal; only the Google Ads upload is skipped.

How does this compare to installing the Google Ads tag on my website?

The Google Ads tag fires conversions in real time, in the browser, when a page loads (e.g. a "Thank You" page after a form submit). That captures the immediate event but tells Google nothing about what happened to the lead afterward.

Ring Tonic's integration is the offline conversion companion: it picks up after the form submit and tells Google what actually closed. Most advertisers run both — the page tag for top-of-funnel signal, this integration for downstream value.

Should I turn on name & address matching?

If you collect the data, yes — it's free extra match signal. Google matches primarily on email, then phone, then address, so name and address mainly help for leads where the email didn't match or wasn't captured. There's no downside: it's opt-in, always hashed, and only sent when a complete address is present. The main requirement is that you actually capture address details on your forms and map them under Enhanced Conversions: Name & Address.

Are uploads encrypted in transit?

Yes. All Google Ads API calls go over HTTPS, and user identifiers (email, phone) are SHA-256 hashed before they leave Ring Tonic — Google never sees raw PII.

How long does Ring Tonic keep my refresh token?

Until you click Disconnect or revoke access at myaccount.google.com/permissions. The token is encrypted at rest with the workspace's encryption key.

What's the daily upload limit?

Ring Tonic's developer token is approved for Basic Access (15,000 API operations per day across all workspaces). Each conversion upload counts as one operation. This ceiling is sufficient for the vast majority of workspaces — if you're approaching it, contact support and we'll review your usage.


Last updated