Before using the tools
Connect the remote MCP server, then run authenticate_tag_manager to authorize a Google login with access to the required Tag Manager accounts and containers. The Tag Manager quickstart covers the complete connection flow. Free, Starter, Pro, and Agency include Tag Manager inspection. Free, Starter, and Pro use one default Google profile. Agency supports multiple connected Google profiles. Normal trial, credit, billing, entitlement, and Google permission checks still apply.Tool summary
authenticate_tag_manager
Returns a Google authorization link. Open it, choose the Google identity that can access the required GTM resources, grant read-only Tag Manager permission, and finish the HireOtto consent step.Example
Connect my Google Tag Manager account using the default profile.
list_gtm_accounts
Lists every Tag Manager account visible to the selected Google profile. Use it as the first verification request after authentication.Example
List the GTM accounts available to my default Google profile. Show account names and IDs. Do not include raw data.
list_gtm_containers
Lists the containers under a selected GTM account.Example
List the web containers in GTM account 123456. Include the container ID, public GTM ID, name, domains, and Tag Manager URL.
lookup_gtm_container
Resolves a public tracking identifier to the matching GTM container available to the connected Google profile. This is useful when a website scan finds an ID but you do not know its account or internal container ID.Example
Resolve GTM-ABC1234 to the GTM account and container I can access. Show the internal container ID and direct Tag Manager URL.
list_gtm_workspaces
Lists the workspaces inside a selected container. Use this before inspecting unpublished configuration.Example
List the workspaces in account 123456, container 789012. Tell me which workspace ID belongs to “Default Workspace.”
get_gtm_container_inventory
Returns a normalized view of tags, triggers, variables, built-in variables, folders, and joined tag wiring for either the live published container or a workspace. Use source=“live” when you want to understand what the published container currently serves. Use source=“workspace” when reviewing draft or unpublished configuration.What the inventory returns
- Counts for tags, triggers, variables, built-in variables, and folders
- The selected workspace or published container-version metadata
- Normalized tag details, including type, paused state, folder, and important parameters
- Firing and blocking triggers with condition summaries
- A plain-language wiring summary for each tag
- Optional raw entity fields
- Optional flattened CSV export
Output modes
Examples
Inspect the live published configuration for account 123456 and container 789012. Summarize the first 100 tag-wiring rows and include a CSV export. Do not change anything.
Inspect workspace 7 in account 123456, container 789012. Show tags with no firing trigger, paused tags, blocking triggers, and important Google Ads or GA4 parameters. Use summary output only.
scan_website_tracking
Scans public website HTML for tracking identifiers and likely conversion points. The tool starts from the supplied URL, uses sitemap discovery when possible, and falls back to links found on the homepage. It prioritizes pages such as contact, booking, demo, pricing, checkout, and confirmation pages. This tool requires a connected HireOtto server and eligible plan access, but it does not require a Google Tag Manager platform connection because it reads publicly served HTML.Signals returned
- GTM container IDs and install-loader signals
- GA4 measurement IDs, Google Ads conversion IDs, and legacy Universal Analytics IDs
- Forms, telephone links, email links, iframes, and recognized form or booking providers
- Consent-management and JavaScript-framework signals
- HTTP status, final URL after redirects, page-level errors, and a cross-page summary
- Warnings for inconsistent GTM IDs or suspected duplicate installations
Important limitation
The scan reads static HTML. It does not execute the page like a browser, click elements, submit forms, enter consent states, or prove that a tag fired. Client-rendered content and interaction-triggered tags can be missed. Treat the result as discovery evidence and follow it with GTM Preview mode and live browser QA before declaring a tracking setup correct or broken.Example
Scan https://example.com for tracking signals. Include up to 8 discovered pages and force-include https://example.com/thank-you. Report GTM, GA4 and Ads IDs, forms, booking tools, consent signals, inconsistent IDs, page failures, and anything that needs live browser verification.
get_billing_status
Returns the current HireOtto plan, billing state, access period, credits included and used, remaining credits where applicable, entitlement flags, and available upgrade links. This tool has no parameters and does not consume or modify GTM data.Example
Show my HireOtto plan, remaining credits, access period, and whether Tag Manager and multi-profile access are enabled.
Shared behavior and limits
- Read-only: No current tool creates, edits, deletes, versions, or publishes GTM entities.
- Google permissions: Results are limited to resources visible to the selected Google login.
- Profiles: default is used when profile_id is omitted. Non-default profiles require Agency.
- Raw data: include_raw=false is the recommended default. Enable it only when normalized fields are insufficient.
- IDs: Account, container, and workspace tools use Google’s internal numeric IDs. A public GTM-* ID is accepted by the lookup tool, not as container_id.
- Exports: Inventory CSV links are signed and expire after the requested TTL. Regenerate an expired export instead of reusing the old URL.
- Credits: Listing and lookup requests are lighter than a full inventory. Website-scan usage scales with pages scanned. Agency includes unlimited credits.
Common failures
Tag Manager is not connected
Run authenticate_tag_manager, open the newest link, finish Google authorization and HireOtto consent, then retry list_gtm_accounts.The selected profile does not exist
Use default, or reconnect the intended Google login with the exact named profile on Agency.An account, container, or workspace is missing
Confirm that the selected Google login can open the resource directly in Tag Manager. Check that you used the internal numeric ID in the correct field. HireOtto cannot bypass Google permissions.The live inventory fails
A live request requires an available published container version. If the container has no usable live version, list workspaces and inspect a workspace instead, clearly labeling it as unpublished configuration.The workspace request fails
Use source=“workspace”. Do not combine workspace_id with source=“live”. If the chosen workspace no longer exists, list workspaces again and use the current ID.The website scan misses a form or tag
Check for JavaScript-framework signals, consent-gated tags, embedded applications, authentication requirements, or interaction-based loading. Add known confirmation pages explicitly, then verify behavior in a real browser and GTM Preview mode.A request is blocked before reaching Google
Expired trial access, inactive billing, exhausted credits, a disabled entitlement, or use of an Agency-only named profile can block the request. Run get_billing_status for the current state.Recommended review sequence
- List accounts and choose the correct account ID.
- List containers and verify the public GTM-* ID.
- Inspect the live container inventory first.
- List and inspect a workspace only when unpublished work matters.
- Scan the public website to compare served identifiers with GTM configuration.
- Use GTM Preview mode and browser QA for firing behavior.