Sam needed to fix three active Google Ads campaigns (SAIL - Car Accidents 2026, SAIL - Brand Protection 2026, SAIL - Accidentes Spanish 2026) in account 3813916687 that were getting zero spend. The root cause identified in a prior session was 8 primary conversion actions confusing smart bidding. This session accomplished: re-authenticating the Google Ads API with the correct Google account, setting conversion goal priorities so only real phone calls are primary, updating call duration thresholds, and creating a design documentation .docx for Google's developer token application.
The previous session's refresh token was generated with a Google account that owns MCC accounts (5397696821, 3681763507) but does NOT have direct access to account 3813916687. The account is directly owned by aguiarlawmarketing@gmail.com, not managed through any MCC.
Generated a new refresh token via OAuth Desktop App flow using redirect_uri=http://localhost:1. Sam completed the browser OAuth flow manually after Chrome automation didn't load the page.
New refresh token: 1//04DE1YCu35KlHCgYIARAAGAQSNwF-L9Irtx_hyZzPmMWTPW7R30tUin2MuwevGVPZyG7xVcNrxMHTjeCfDx1gbhT4En0pY0HniTE
OAuth client: 76590338058-0imb8gdhgug9l0hqjlqacush12n0bau8.apps.googleusercontent.com / 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
Developer token: hsQ-65334MAZh6s02rXBJA
Verified the token can access accounts: 3813916687, 1581498091, 3050138639, 8676599345 (all directly owned by aguiarlawmarketing@gmail.com).
Used Python google-ads library (v23) in Cowork bash sandbox to make direct API calls. No MCC routing needed; config uses direct access with no login_customer_id.
Set at both account level (CustomerConversionGoalService) and campaign level (CampaignConversionGoalService). Account-level mutations succeeded but Google enforced PURCHASE~WEBSITE, SUBMIT_LEAD_FORM~WEBSITE, and SUBMIT_LEAD_FORM~GOOGLE_HOSTED as primary at account level. Fixed by overriding at the campaign level for all 3 active campaigns.
Final state for all 3 active campaigns (verified):
Calls from ads - GTM (ID: 7387417083) updated from 300s to 500s via ConversionActionService. Call From Website (ID: 7387417086) was already at 500s. Both primary conversions now require 500-second calls.
File at /Users/samaguiar/Documents/repos/google_ads_mcp/google-ads.yaml updated with new refresh token and login_customer_id line removed.