Connect Google Ads

VibeAds publishes and manages campaigns through the Google Ads API. The connection is a standard OAuth flow with token refresh.

What we ask for

When you click "Connect Google Ads" we open a Google sign-in popup and request scope adwords. After you consent, Google returns an access token and refresh token. We store the refresh token encrypted in Supabase.

The access lets VibeAds:

  • Read your campaign data (clicks, impressions, conversions, search terms, ad performance)
  • Create new campaigns when you publish in VibeAds
  • Update bids, budgets, and ad copy on campaigns you authorize
  • Add negative keywords (with your approval on Pro, auto on Max hands-free)
  • Upload offline conversions for closed-loop attribution
  • Read your account name, currency, and timezone

What we do not touch

  • Billing or payment info (Google manages that)
  • Account-level user permissions
  • Campaigns we did not create or you did not explicitly import
  • Conversion actions that did not come from VibeAds publishing
Every action the agent takes is logged in the campaign Optimize tab with timestamps, before/after state, and a rollback option within 7 to 14 days depending on blast radius.

MCC (manager) accounts

Agencies and consultants typically operate through a manager (MCC) account that owns multiple operating customer accounts. VibeAds detects MCC accounts at OAuth time and stores both the operating customer ID and the MCC ID. The Google Ads API requires the login-customer-id header on every request when the OAuth grant came through an MCC. We handle that automatically.

If a campaign push fails because the MCC header was missing, VibeAds auto-retries with the header set and self-heals the stored grant type. You should not need to do anything.

Advertiser identity verification

Some Google Ads accounts require Advertiser Identity Verification before they can run business logos or restricted category ads (locksmith, garage door). VibeAds detects verification status and surfaces a banner in Settings if your account is pending. Once verified, the agent auto-pushes any deferred logo and image assets on the next sync cycle.

Disconnecting

Settings has a "Disconnect Google Ads" button. It revokes our stored refresh token and stops all syncs. Existing campaigns in your Google Ads account continue running. VibeAds stops monitoring and optimizing them. You can reconnect anytime.

Troubleshooting

Popup blocked: Allow pop-ups for getvibeads.com in your browser and click Connect again.

Popup closes without connecting: The flow polls for popup closure. If you close it without signing in, VibeAds resets and you can retry.

"Customer not found" error: The Google account you signed in with does not have access to a Google Ads account. Sign in with the email tied to the Google Ads account, or have its owner invite your email.

Token expired: Refresh tokens last as long as you keep the connection active. If Google revokes the token (security event, password change), VibeAds shows a reconnect banner in Settings.