# Google Ads OAuth Authentication in HireOtto Source: https://docs.hireotto.com/authentication-1 Learn how HireOtto connects to Google Ads with OAuth, handles MCC access, supports multiple Google logins, and resolves account permissions. *** ## First-time setup Ask your AI client: ```text theme={null} Connect my Google Ads account to HireOtto. ``` HireOtto will return an authorization URL. * Open it, sign in with the Google account that has access to your Google Ads, and complete the consent screen. * After consent, you'll see a list of all accessible accounts — you can select all of them or pick specific ones, then **SAVE**. * This step is important: if you skip saving, HireOtto won't have any accounts to work with even though the OAuth itself completed successfully. * Once saved, come back to your client — you're connected. If you have not added HireOtto to your AI client yet, start with [Connect Google Ads MCP](/quickstart). If you are setting up Claude, ChatGPT, or Make specifically, use [Connect HireOtto to Claude, ChatGPT, and Make](/setup/connect-ai-tool). *** ## How HireOtto resolves accounts When you connect a Google login, HireOtto looks one level down from each account it can see: * Direct Google Ads accounts are included as-is * If any of those accounts is a Manager account (MCC), HireOtto also includes all the child accounts directly under it So a single connected login can give you access to your own accounts plus all client accounts under a Manager — without any extra setup. **Where this stops:** if your MCC contains another MCC (a nested Manager hierarchy), HireOtto won't automatically traverse further. To access accounts at that deeper level, you need to connect a separate Google login that has direct access to the inner MCC. See [Connecting multiple Google logins](#connecting-multiple-google-logins) below. *** ## Connecting multiple Google logins There are two common reasons to connect more than one Google login: 1. **Deep MCC hierarchies** — you have an MCC inside an MCC, and the outer login can't reach the inner accounts directly 2. **Access spread across multiple Gmails** — you or your team have client account access granted to different Google logins, and you want all of them available through one HireOtto connector In both cases, the setup is the same: connect each Google login as a separate profile with a nickname. ```text theme={null} Connect another Google account. Call it "client_mcc". ``` HireOtto will generate a second authorization URL. Complete the OAuth flow with that Google login, select the accounts you want to save, and you're done. Repeat for as many logins as you need. **Example: three-level MCC hierarchy** Say you have this structure: * Level 0: Your agency MCC — accessible via your primary Gmail * Level 1: A client's MCC — accessible via a separate Gmail * Level 2: The client's individual accounts under their MCC Your primary Gmail gets you to Level 0 and everything directly under it. But to reach Level 2, you need to connect the Gmail that has direct access to the Level 1 MCC: ```text theme={null} Connect another Google account. Call it "client_level1_mcc". ``` Sign in with that Gmail during OAuth, save the accounts — HireOtto will now see the Level 2 accounts under that MCC. One important note: connecting the same Gmail twice under different profile names won't help — you'll get the same account access either way. The key is using a different Google login that actually has direct access to the deeper MCC. **Profile name tips** * Keep it short and memorable: `agency_mcc`, `client_ops`, `jane_gmail` * Avoid colons (`:`) — they're used internally * Multiple profiles require the Agency plan *** ## Refreshing accounts after adding new ones If you've been granted access to a new Google Ads account after your initial setup, HireOtto won't see it automatically. Tell your client: ```text theme={null} Refresh my Google Ads accounts. ``` To refresh accounts for a specific connected login: ```text theme={null} Refresh accounts for myemail@gmail.com. ``` *** ## When auth breaks Common signs something's off: * You see an error like `Google Ads isn't connected` * `list_accessible_accounts` returns an empty list * Requests fail with a permissions or authentication error The most common cause: completing OAuth but not saving any accounts during the flow. Re-run auth and make sure you select and save accounts before finishing: ```text theme={null} Re-authenticate my Google Ads account. ``` If a specific connected login is failing: ```text theme={null} Re-authenticate myemail@gmail.com. ``` Go to [Troubleshooting](/troubleshooting) for common fixes around missing accounts, OAuth errors, connector issues, and Google Ads permissions. *** ## Google Search Console authentication Google Search Console uses a separate Google permission flow from Google Ads. Even if you have already connected Google Ads, you still need to connect Search Console before asking for organic search reports. Ask your AI client: ```text theme={null} Connect my Google Search Console account. ``` HireOtto will return an authorization URL. * Open it and sign in with the Google account that has access to your Search Console properties. * Complete the Google consent screen. * When the auth page says Search Console is connected, close the window and return to your AI client. Then verify access: ```text theme={null} Show me the Search Console sites I have access to. ``` Unlike Google Ads, there is no account selection step after Search Console authentication. HireOtto saves the accessible Search Console properties automatically. ### Connecting multiple Search Console logins If Search Console access is spread across multiple Google accounts, you can connect another Google login by asking to connect another Search Console profile. Example: ```text theme={null} Connect another Google Search Console account. ``` Use this when a different Gmail has access to different Search Console properties. *** ## Frequently asked questions **Does HireOtto store my Google credentials?** No. HireOtto uses OAuth tokens — not your Google password. You can revoke access at any time from your [Google account security settings](https://myaccount.google.com/permissions). **Can I connect a Google Ads Manager account (MCC)?** Yes. Connect the Google login that has access to the MCC. HireOtto will include the MCC itself plus all accounts directly under it. For accounts nested under a second-level MCC, connect a separate Google login that has direct access to that inner MCC. **I completed OAuth but my accounts still aren't showing up.** You likely didn't select and save any accounts during the OAuth flow. Re-authenticate, and when you reach the account selection screen, make sure to select the accounts you want and confirm the save before returning to your client. # HireOtto product changelog Source: https://docs.hireotto.com/changelog Follow the latest HireOtto updates for advertising, measurement, organic search, audits, reporting, exports, and MCP reliability. # 20-08-2026 ## Google Analytics 4 reporting beta Added a read-only Google Analytics 4 MCP server for bringing acquisition and on-site outcomes into the same AI workflow as Google Ads, Tag Manager, and Search Console. The beta supports account and property discovery, property configuration, reporting metadata, dimension-and-metric compatibility checks, standard reports, comparisons, cohorts, and realtime reports. Standard reports return a concise inline result plus CSV by default. Realtime reports return an inline summary by default and cover the most recent 30 minutes, or 60 minutes for eligible Google Analytics 360 properties. The server cannot create or change GA4 properties, events, audiences, or settings. GA4 is included in the core product plans but remains beta. ## Weekly Google Ads optimization audit Added a read-only weekly audit for mature optimization decisions. It compares enabled-campaign performance with the previous equal-length period, reviews Search visibility, and finds search-term, keyword, and responsive-search-ad candidates that deserve practitioner review. The default performance window is the last 7 days. Search terms use a 30-day lookback and exclude the most recent 3 days for conversion lag. The audit returns severity-ranked findings and CSV exports; export links expire after 30 minutes by default. It never adds negatives, changes bids, or edits ads. Audit access is limited to the Agency plan. ## Google Ads account health audit Added a read-only account health audit for monthly or quarterly structural reviews. It checks tracking and campaign settings, current versus comparison-period performance, keyword and match-type distributions, Quality Score components, negative-keyword coverage, geographic and device performance, and Search impression share lost to budget or rank. The default window is the last 90 days compared with the preceding 90 days. Responsive-search-ad structure review and checklist output are optional and off by default. The audit returns prioritized findings, coverage notes, and CSV exports without changing the account. Audit access is limited to the Agency plan. ## Expanded daily operations audit Reworked the daily audit around delivery and pacing exceptions. It now compares campaign delivery with a preceding baseline, evaluates shared-budget groups together, and flags stopped delivery, spend spikes or drops, and over- or underspending against current daily budgets. The default audit period is yesterday with a 14-day baseline. It reviews enabled campaigns by default, returns up to 25 findings inline, and provides fuller CSV exports with 30-minute links. Search-term and creative optimization remain in the weekly audit. The daily audit is read-only and available on the Agency plan. ## Tag Manager inventory and website tracking scans Expanded the read-only Tag Manager server with a joined container inventory that connects tags to firing triggers, trigger conditions, and blocking triggers. Inventory can use the live workspace or a published version and can return an inline summary, CSV export, or both. Added a public website tracking scan that discovers likely high-value pages from a sitemap or homepage links and checks the available server-rendered HTML for common tracking signals. It scans up to 6 pages by default and 10 at most, with a 10-second timeout per page. It cannot prove that a tag fired and may miss tags loaded only after JavaScript, consent, login, or interaction. Tag Manager remains read-only. ## Search Console is now available Moved Google Search Console out of beta. The read-only server can list properties and sitemaps, inspect URL indexing, and report organic performance by query, page, country, device, date, hour, and supported search-appearance dimensions. It can also include fresh or hourly data when requested and export larger result sets to CSV. Search Console uses a separate Google permission from Google Ads. Recent data may be incomplete, and Google may return top rows rather than every possible row. Use finalized data and end at yesterday or earlier when a stable comparison matters. ## Google Ads reliability and date handling Improved recent change-history date handling and validation for future campaign start dates. Tool responses now carry clearer server, operation, and requested-resource context, making it easier to confirm that a result belongs to the intended account and workflow when several servers or chats are active. Google Ads remains the only current HireOtto server that can make platform changes. Actions run only when the connected client requests them. Review account IDs, budgets, dates, targeting, and bulk changes before approval, then verify significant changes in Google Ads. ## Try the new workflows * Run the weekly optimization audit for the last 7 days, compare it with the preceding 7 days, and show every high- or medium-severity finding before suggesting any changes. * Run the account health audit for the last 90 days with responsive-search-ad review enabled. Separate configuration issues from performance interpretation and list every CSV export. * For this GA4 property, check which dimensions and metrics are compatible, then compare paid-search sessions and conversions with the previous 28 days. * Inspect this Tag Manager container's live workspace, export the tag wiring, and scan the public site for tracking signals that need manual verification. * In Search Console, find high-impression organic queries that are not covered by the current Google Ads keywords, then inspect the strongest landing pages for index status. ## Access, limits, and failure cases * Agency audits are read-only. Their recommendations are review candidates, not automatic account changes. * If one audit section fails or reaches a row limit, treat the result as partial. Use the coverage notes and CSV exports before calling the audit complete. * GA4 beta requests can fail when a metric and dimension are incompatible. Check reporting metadata and compatibility before running a complex report. * Tag Manager and Search Console require separate Google permissions. A missing container, property, or site usually means the connected Google login does not have access. * Temporary CSV links expire. Download an export while the link is active or rerun the report to generate a new one. * API quotas, account permissions, product restrictions, and incomplete recent data can still limit a valid request. Read the returned error before retrying. *** * **\[19-07-2026] Negative Keyword Lists**: Added support for removing individual keywords from shared negative keyword lists. Keywords can be selected using their exact resource names or identified by keyword text and match type. * **\[14-07-2026] Conversion Actions and GA4 Imports**: Added support for reviewing conversion tracking setup, creating native Google Ads conversion actions, importing eligible GA4 key events, and updating conversion-window settings. * **\[11-07-2026] Google Tag Manager MCP**: Added read-only support for listing GTM accounts, containers, workspaces, tags, triggers, variables, built-in variables, and folders, plus tag-to-trigger wiring inspection and CSV export. * **\[26-06-2026] Google Search Console MCP support**: Added beta support for organic query reports, page performance, country/device breakdowns, CSV exports, sitemaps, and URL indexing checks. * **\[05-06-2026] Demand Gen Campaigns**: Added support for non-product-feed Demand Gen campaigns. * Create campaign shells with goals (Conversions, Clicks, Conversion Value, YouTube Engagements) and optional bid targets. * Add ad groups with channel controls — select individual channels (YouTube in-stream, in-feed, Shorts, Discover, Gmail, Display, Maps) or use a preset `ALL_CHANNELS`, `ALL_OWNED_AND_OPERATED_CHANNELS`). * Create reusable assets (image, video, text, CTA) and ads (single image, multi-asset, carousel, video/video responsive). * Inspect Demand Gen structure with three new listing actions: campaign settings, ad group channel controls, and ad creatives. Update campaigns and ad groups, and replace ad creative safely via the update tool. * **\[18-05-2026] Campaign Budgets**: Added tools to create standalone/shared budgets, inspect budget usage, move campaigns between budgets, create-and-attach dedicated budgets, and safely remove unused budgets. * **\[17-05-2026] Bidding Strategies**: Added portfolio bidding strategy management including create/list/attach/remove, moving campaigns back to standard campaign-level bidding, shared-budget alignment support, and atomic workflows for aligned shared-budget + portfolio setups. * **\[16-05-2026] Conversion Actions**: Added a basic conversion action update tool for existing conversion actions, including default value, always-use-default-value, counting type, primary-for-goal status, status, category, and attribution model updates. * **\[06-05-2026] Extension Assets**: Added support for managing Google Ads extensions including sitelinks, callouts, structured snippets, call assets, and price assets. You can list existing assets, create new reusable assets, link them at the account/campaign/ad group level, reuse the same asset across supported levels, unlink asset associations, and pull extension asset performance reports. * **\[18-04-2026] Performance Max**: Added support for creating standard PMax campaigns, adding asset groups, managing asset group assets, managing audience signals and search themes, and listing current asset group signals and available audiences. * **\[15-04-2026] Change History**: Added Google Ads change history support with change status and detailed change events, including CSV export for larger timelines. * **\[14-04-2026] Custom GAQL**: Added `run_gaql` for Agency users for flexible read-only custom reporting. * **\[14-04-2026] Performance Max Reporting**: Added reports for campaign performance, placements, feed types, asset groups, asset strength, asset performance, top asset combinations, and PMax search terms. * **\[12-04-2026] Reporting**: Added demographic performance reports for age and gender. * **\[11-04-2026] App Campaigns**: Added App campaign creation support (campaigns, ad groups, ads) plus App-compatible campaign/ad group updates. * **\[24-03-2026] Daily Ops Audit**: A simple tool that flags under/over pacing campaigns and wasteful search terms (conversions \< 1, sorted by cost). * **\[12-03-2026] Reporting**: Daily segment support added to the reporting tool for day-by-day analysis. * **\[22-02-2026] CSV support**: Extended CSV support: export modes (summary / summary+csv / csv\_only) to other relevant tools. * **\[30-12-2025] Reporting**: Added CSV export modes (summary / summary+csv / csv\_only) to prevent context-window overload on large reports. * **\[29-12-2025] Keyword Planner:** CSV export support for `keyword_planner` - keep context lengths short and allow LLMs to analyze data programmatically. * **\[25-12-2025] Keyword Planner:** Added `keyword_planner` tool for keyword ideas + historical metrics (with location\_mode, sorting, filtering). * **\[21-11-2025] Server Updates** to work more smoothly with Claude web * **\[03-10-2025] Google Ads API Updates**: Updated tools to work with the latest ads API. * **\[09-08-2025] Preview** - Remote MCP, Google Ads auth, core reporting, Search build/edit tools, helpful defaults. **Roadmap (as of 06-06-2026):** * More extension asset types and deeper field coverage based on user feedback * One shot account audit tools * Support for campaign types beyond Search (Display, YouTube) — phased * *Shaped by your feedback - tell me what you need most.* # Connect Google Ads to Claude - Video Walkthrough Source: https://docs.hireotto.com/connect-google-ads-to-claude Authorize your Google Ads account through HireOtto, choose the accounts Claude can access, and test the connection with a simple Google Ads query. This walkthrough covers the Google Ads authorization step after HireOtto has been added to Claude: opening the auth link, granting permissions, selecting accounts, and testing that Claude can access your Google Ads data.