Google Ads connection troubleshooting

Last updated: May 19, 2026

Google Ads connection troubleshooting

Top 10 Google Ads integration issues with symptom + likely cause + fastest fix. For anything else contact support@wevion.ai with your google_user_id (visible at /connect/google-ads detail drawer).

Who is this for

Mediabuyers and admins hitting a Google Ads issue and wanting an answer fast.

1. OAuth fails with invalid_grant

Symptom: clicking Connect, completing Google login, then error "invalid_grant" or "expired token" back in Wevion.

Cause:

  • Clock skew between your machine and Google's servers

  • Wevion's OAuth app not approved for the adwords scope (rare; usually means Wevion deployment issue)

Fix:

  • Sync your OS clock (Mac: System Settings → General → Date & Time → Set automatically; Windows: Settings → Time)

  • If clock is correct, contact support@wevion.ai with your google_user_id

2. "No customer accounts found" after OAuth

Symptom: OAuth completes but the Customer accounts list is empty.

Cause: the Google account that authenticated has no access to any Google Ads customer (direct or via MCC).

Fix:

  • Verify at ads.google.com — sign in with the same Google account; if you don't see any account, your Google identity lacks Google Ads access

  • Have the Google Ads admin grant access to your Google user

  • Reconnect once access granted

3. Customer visible in Google Ads but missing from Wevion import list

Symptom: account exists at ads.google.com, but /connect/google-ads doesn't list it.

Cause: customer is in a different MCC than the one Wevion is connecting through. OR your Google user lacks role on that customer.

Fix:

  • Verify Google user has at least Standard role on the customer (Google Ads → Tools → Access and security → Users)

  • If customer is in a separate MCC: either link it to the connecting MCC, or have a different Google user (with access to that MCC) authenticate Wevion separately

4. Sync error: PERMISSION_DENIED

Symptom: customer connected but sync fails with PERMISSION_DENIED errors in account detail.

Cause: MCC link missing or role insufficient at the customer level.

Fix:

  • Google Ads → Tools → Access and security → Users → verify the connecting Google user has Standard or Admin role on this customer

  • If accessed via MCC: verify the MCC has access to the customer (Google Ads → Manager accounts → see customer's parent MCCs)

  • Disconnect + reconnect Wevion to force fresh permission lookup

5. Currency mismatch — Wevion shows different totals than Google Ads UI

Symptom: Wevion's account-level spend differs from what you see at ads.google.com.

Cause:

  • Currency: customer currency is set at creation in Google Ads (not changeable). If your workspace currency differs, Wevion's cross-channel rollup auto-converts via daily FX → may differ from account-native

  • Timezone: Google Ads uses account timezone (set at creation, not changeable); Wevion uses workspace timezone for "Last 7 days" → different boundaries → different totals

  • Sync delay: Wevion is up to 15 min behind real-time

Fix:

  • For dollar-level reconciliation: use Google Ads UI as ground truth

  • For optimization decisions: Wevion's view is fine (consistent with workspace TZ)

  • Match account timezone to workspace timezone (only possible by creating a new customer in Google Ads with desired TZ — usually not worth it)

6. Conversions showing count 0 in Wevion

Symptom: conversion action exists in Google Ads (Verified status) but Wevion shows 0 conversions.

Cause:

  • 15-min sync delay (first sync after enabling)

  • Conversion action paused / archived in Google Ads

  • Conversion not yet eligible for optimization (< 30 conversions, < 30 days old)

Fix:

  • Wait 15-30 min after enabling

  • Verify status Active in Google Ads → Tools → Conversions

  • Check Wevion's pixel page at /pixels for the conversion action card

7. Performance Max asset rejected

Symptom: creating a PMax campaign in Campaign Creator, asset upload fails with "rejected".

Cause: asset doesn't meet Google's PMax requirements (aspect ratio, file size, content).

Fix:

  • Image specs: square 1:1 (1200×1200 min), landscape 1.91:1 (1200×628 min), portrait 4:5

  • Logo specs: square 1:1 (128×128 min), landscape 1:1

  • Video specs: vertical 9:16, horizontal 16:9, square 1:1 (10s-30s)

  • Check Google's PMax asset requirements for the latest specs

  • Replace asset; retry

8. Shopping campaign requires Google Merchant Center

Symptom: Shopping campaign type grayed out or rejected when trying to launch.

Cause: customer doesn't have a linked Google Merchant Center account.

Fix:

  • Set up Google Merchant Center separately at merchants.google.com

  • Upload your product feed (manual or via Shopify/WooCommerce sync)

  • Link Merchant Center to Google Ads account (Google Ads → Tools → Linked accounts → Google Merchant Center → Link)

  • After link + first product sync, Shopping campaigns become available

9. Rate limit hit during sync

Symptom: account sync error mentions "RATE_LIMIT_EXCEEDED" or "QUOTA_EXCEEDED".

Cause: Google Ads API enforces per-account daily query quotas.

Fix:

  • Wait until the next quota reset (typically midnight Pacific Time)

  • Wevion auto-throttles to avoid hitting limits in future

  • If hitting limits repeatedly: contact support — may need to increase Wevion's API quota with Google

10. Token revoked from Google Account settings

Symptom: yellow connector card after user goes to myaccount.google.com/permissions and removes Wevion.

Cause: explicit user revocation.

Fix:

  • Reconnect via the yellow card button

  • New OAuth flow re-grants access

  • No data lost

When to contact support

Reach out to support@wevion.ai when:

  • Issue not in this list

  • Reconnect doesn't restore sync after multiple attempts

  • Google API errors that Wevion shows raw — include the full error string

  • Suspect Wevion bug (sync stuck > 24h, data drift > 10% vs Google Ads UI)

Include:

  • Your workspace ID

  • Affected google_user_id (in /connect/google-ads → detail drawer)

  • Affected customer ID (10-digit)

  • Approximate timestamp of issue

  • Exact error message (copy-paste)

Typical response: 1-2 business days; priority on Pro and Enterprise plans.

Useful diagnostics

Before raising a ticket:

  • /connect/google-ads → Google user detail drawer → Last refresh + Last sync

  • Account detail drawer → Last error field

  • Audit log filter: action: google_sync_failed (admin only — see team-113)

  • Browser DevTools → Network tab during reconnect — capture 4xx/5xx responses

Related