Connect Google Ads
VibeAds publishes and manages campaigns through the Google Ads API. The connection is a standard OAuth flow with token refresh.
No Google Ads account yet?
Connecting needs a Google Ads account on the Google login you sign in with. Creating one is free and takes a few minutes:
- Go to ads.google.com and click Start now. Sign in with the Google login you will connect here.
- Enter your business name and website.
- When Google offers to build a campaign, skip it and choose "Create an account without a campaign". If you see "Switch to Expert Mode", click that first. VibeAds builds your campaigns, so you won't pay for a second one.
- Choose your billing country, time zone and currency, add a payment method, and submit. Check the time zone and currency before you submit. Your ads only run once billing is set up.
- Come back here and click Connect Google Ads.
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 in our database (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
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 you sign in with your manager login, VibeAds lists the client accounts under the manager, and you choose which ones it manages in Settings, Google Ads.
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, VibeAds 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.
"That Google login has no Google Ads account": 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, have its owner invite your email, or create a new account.
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.