[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-composio-googleads-automation":3,"mdc--3k4tik-key":51,"related-repo-composio-googleads-automation":973,"related-org-composio-googleads-automation":1059},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":26,"repoUrl":27,"updatedAt":28,"license":29,"forks":30,"topics":31,"repo":46,"sourceUrl":49,"mdContent":50},"googleads-automation","analyze Google Ads data","Automate Google Ads analytics tasks via Rube MCP (Composio): list Google Ads links, run GA4 reports, check compatibility, list properties and accounts. Always search tools first for current schemas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"composio","Composio","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fcomposio.png","ComposioHQ",[13,17,20,23],{"name":14,"slug":15,"type":16},"Marketing","marketing","tag",{"name":18,"slug":19,"type":16},"Automation","automation",{"name":21,"slug":22,"type":16},"MCP","mcp",{"name":24,"slug":25,"type":16},"Analytics","analytics",67499,"https:\u002F\u002Fgithub.com\u002FComposioHQ\u002Fawesome-claude-skills","2026-07-15T05:52:33.81842",null,7603,[32,33,34,19,35,36,37,8,38,39,40,22,41,42,43,44,45],"agent-skills","ai-agents","antigravity","claude","claude-code","codex","cursor","developer-tools","gemini-cli","openai-codex","rube","saas","skill","workflow-automation",{"repoUrl":27,"stars":26,"forks":30,"topics":47,"description":48},[32,33,34,19,35,36,37,8,38,39,40,22,41,42,43,44,45],"A curated list of awesome Claude Skills, resources, and tools for customizing Claude AI workflows","https:\u002F\u002Fgithub.com\u002FComposioHQ\u002Fawesome-claude-skills\u002Ftree\u002FHEAD\u002Fcomposio-skills\u002Fgoogleads-automation","---\nname: googleads-automation\ndescription: \"Automate Google Ads analytics tasks via Rube MCP (Composio): list Google Ads links, run GA4 reports, check compatibility, list properties and accounts. Always search tools first for current schemas.\"\nrequires:\n  mcp: [rube]\n---\n\n# Google Ads Automation via Rube MCP\n\nAccess Google Ads data through Google Analytics integration, run performance reports, list linked Ads accounts, and analyze campaign metrics using Rube MCP (Composio).\n\n**Toolkit docs**: [composio.dev\u002Ftoolkits\u002Fgoogleads](https:\u002F\u002Fcomposio.dev\u002Ftoolkits\u002Fgoogleads)\n\n## Prerequisites\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `google_analytics`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n**Get Rube MCP**: Add `https:\u002F\u002Frube.app\u002Fmcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `google_analytics`\n3. If connection is not ACTIVE, follow the returned auth link to complete setup\n4. Confirm connection status shows ACTIVE before running any workflows\n\n> **Note**: Google Ads data is accessed through the Google Analytics toolkit integration. The tools below use GA4 properties linked to Google Ads accounts.\n\n## Core Workflows\n\n### 1. List Google Ads Links for a Property\nUse `GOOGLE_ANALYTICS_ANALYTICS_ADMIN_PROPERTIES_GOOGLE_ADS` to retrieve all Google Ads account links configured for a GA4 property.\n```\nTool: GOOGLE_ANALYTICS_ANALYTICS_ADMIN_PROPERTIES_GOOGLE_ADS\nParameters:\n  - parent (required): Property resource name (format: \"properties\u002F{propertyId}\")\n  - pageSize: Max results (1-200, default 50)\n  - pageToken: Pagination token\n```\n\n### 2. Run a GA4 Performance Report\nUse `GOOGLE_ANALYTICS_RUN_REPORT` to run customized reports with dimensions, metrics, date ranges, and filters.\n```\nTool: GOOGLE_ANALYTICS_RUN_REPORT\nParameters:\n  - property (required): Property resource (format: \"properties\u002F{property_id}\")\n  - dimensions: Array of dimension objects (e.g., [{\"name\": \"sessionCampaignName\"}, {\"name\": \"date\"}])\n  - metrics: Array of metric objects (e.g., [{\"name\": \"sessions\"}, {\"name\": \"totalRevenue\"}])\n  - dateRanges: Array with startDate and endDate (e.g., [{\"startDate\": \"2025-01-01\", \"endDate\": \"2025-01-31\"}])\n  - dimensionFilter: Filter by dimension values\n  - metricFilter: Filter by metric values (applied after aggregation)\n  - orderBys: Sort results\n  - limit: Max rows to return (1-250000)\n```\n\n### 3. Check Dimension\u002FMetric Compatibility\nUse `GOOGLE_ANALYTICS_CHECK_COMPATIBILITY` to validate dimension and metric combinations before running a report.\n```\nTool: GOOGLE_ANALYTICS_CHECK_COMPATIBILITY\nDescription: Validates compatibility of chosen dimensions or metrics\n  before running a report.\nNote: Call RUBE_SEARCH_TOOLS to get the full schema for this tool.\n```\n\n### 4. List GA4 Accounts\nUse `GOOGLE_ANALYTICS_LIST_ACCOUNTS` to enumerate all accessible Google Analytics accounts.\n```\nTool: GOOGLE_ANALYTICS_LIST_ACCOUNTS\nParameters:\n  - pageSize: Max accounts to return\n  - pageToken: Pagination token\n  - showDeleted: Include soft-deleted accounts\n```\n\n### 5. List GA4 Properties Under an Account\nUse `GOOGLE_ANALYTICS_LIST_PROPERTIES` to list properties for a specific GA4 account.\n```\nTool: GOOGLE_ANALYTICS_LIST_PROPERTIES\nParameters:\n  - account (required): Account resource name (format: \"accounts\u002F{account_id}\")\n  - pageSize: Max properties (1-200)\n  - pageToken: Pagination token\n  - showDeleted: Include trashed properties\n```\n\n### 6. Get Available Dimensions and Metrics\nUse `GOOGLE_ANALYTICS_GET_METADATA` to discover all available fields for building reports.\n```\nTool: GOOGLE_ANALYTICS_GET_METADATA\nDescription: Gets metadata for dimensions, metrics, and comparisons\n  for a GA4 property.\nNote: Call RUBE_SEARCH_TOOLS to get the full schema for this tool.\n```\n\n## Common Patterns\n\n- **Discover then report**: Use `GOOGLE_ANALYTICS_LIST_ACCOUNTS` to find account IDs, then `GOOGLE_ANALYTICS_LIST_PROPERTIES` to find property IDs, then `GOOGLE_ANALYTICS_RUN_REPORT` to pull data.\n- **Validate before querying**: Use `GOOGLE_ANALYTICS_CHECK_COMPATIBILITY` to validate dimension\u002Fmetric combinations before running reports to avoid 400 errors.\n- **Campaign performance**: Run reports with dimensions like `sessionCampaignName`, `sessionSource`, `sessionMedium` and metrics like `sessions`, `activeUsers`, `totalRevenue`.\n- **Ads link discovery**: Use `GOOGLE_ANALYTICS_ANALYTICS_ADMIN_PROPERTIES_GOOGLE_ADS` to find which Google Ads accounts are linked to each GA4 property.\n- **Field discovery**: Use `GOOGLE_ANALYTICS_GET_METADATA` to list all available dimensions and metrics before constructing complex reports.\n\n## Known Pitfalls\n\n- **Dimension\u002Fmetric compatibility**: The GA4 API has strict compatibility rules. Not all dimensions can be combined with all metrics. Demographic dimensions (e.g., `userAgeBracket`, `userGender`) are often incompatible with session-scoped dimensions\u002Ffilters (e.g., `sessionCampaignName`, `sessionSource`).\n- **`dateRange` is NOT a dimension**: Do not include `dateRange` in the dimensions array. Use `date`, `dateHour`, `year`, `month`, or `week` instead.\n- **`exits` is NOT valid**: Neither `exits` as a dimension nor as a metric is valid in GA4.\n- **Property ID format**: Must be `properties\u002F{numeric_id}` (e.g., `properties\u002F123456789`). Do not use Google Account IDs (long OAuth IDs).\n- **Account ID format**: Must be `accounts\u002F{numeric_id}` where the numeric ID is 6-10 digits.\n- **Filter separation**: Use `dimensionFilter` only for dimension fields and `metricFilter` only for metric fields. Mixing them will cause errors.\n- **Max 9 dimensions and 10 metrics** per report request.\n\n## Quick Reference\n| Action | Tool | Key Parameters |\n|--------|------|----------------|\n| List Ads links | `GOOGLE_ANALYTICS_ANALYTICS_ADMIN_PROPERTIES_GOOGLE_ADS` | `parent` |\n| Run report | `GOOGLE_ANALYTICS_RUN_REPORT` | `property`, `dimensions`, `metrics`, `dateRanges` |\n| Check compatibility | `GOOGLE_ANALYTICS_CHECK_COMPATIBILITY` | (see full schema via RUBE_SEARCH_TOOLS) |\n| List accounts | `GOOGLE_ANALYTICS_LIST_ACCOUNTS` | `pageSize` |\n| List properties | `GOOGLE_ANALYTICS_LIST_PROPERTIES` | `account`, `pageSize` |\n| Get metadata | `GOOGLE_ANALYTICS_GET_METADATA` | (see full schema via RUBE_SEARCH_TOOLS) |\n\n---\n*Powered by [Composio](https:\u002F\u002Fcomposio.dev)*\n",{"data":52,"body":55},{"name":4,"description":6,"requires":53},{"mcp":54},[42],{"type":56,"children":57},"root",[58,67,73,93,100,143,149,167,209,223,229,236,249,261,267,279,288,294,306,315,321,333,342,348,360,369,375,387,396,402,539,545,747,753,954,958],{"type":59,"tag":60,"props":61,"children":63},"element","h1",{"id":62},"google-ads-automation-via-rube-mcp",[64],{"type":65,"value":66},"text","Google Ads Automation via Rube MCP",{"type":59,"tag":68,"props":69,"children":70},"p",{},[71],{"type":65,"value":72},"Access Google Ads data through Google Analytics integration, run performance reports, list linked Ads accounts, and analyze campaign metrics using Rube MCP (Composio).",{"type":59,"tag":68,"props":74,"children":75},{},[76,82,84],{"type":59,"tag":77,"props":78,"children":79},"strong",{},[80],{"type":65,"value":81},"Toolkit docs",{"type":65,"value":83},": ",{"type":59,"tag":85,"props":86,"children":90},"a",{"href":87,"rel":88},"https:\u002F\u002Fcomposio.dev\u002Ftoolkits\u002Fgoogleads",[89],"nofollow",[91],{"type":65,"value":92},"composio.dev\u002Ftoolkits\u002Fgoogleads",{"type":59,"tag":94,"props":95,"children":97},"h2",{"id":96},"prerequisites",[98],{"type":65,"value":99},"Prerequisites",{"type":59,"tag":101,"props":102,"children":103},"ul",{},[104,110,130],{"type":59,"tag":105,"props":106,"children":107},"li",{},[108],{"type":65,"value":109},"Rube MCP must be connected (RUBE_SEARCH_TOOLS available)",{"type":59,"tag":105,"props":111,"children":112},{},[113,115,122,124],{"type":65,"value":114},"Active connection via ",{"type":59,"tag":116,"props":117,"children":119},"code",{"className":118},[],[120],{"type":65,"value":121},"RUBE_MANAGE_CONNECTIONS",{"type":65,"value":123}," with toolkit ",{"type":59,"tag":116,"props":125,"children":127},{"className":126},[],[128],{"type":65,"value":129},"google_analytics",{"type":59,"tag":105,"props":131,"children":132},{},[133,135,141],{"type":65,"value":134},"Always call ",{"type":59,"tag":116,"props":136,"children":138},{"className":137},[],[139],{"type":65,"value":140},"RUBE_SEARCH_TOOLS",{"type":65,"value":142}," first to get current tool schemas",{"type":59,"tag":94,"props":144,"children":146},{"id":145},"setup",[147],{"type":65,"value":148},"Setup",{"type":59,"tag":68,"props":150,"children":151},{},[152,157,159,165],{"type":59,"tag":77,"props":153,"children":154},{},[155],{"type":65,"value":156},"Get Rube MCP",{"type":65,"value":158},": Add ",{"type":59,"tag":116,"props":160,"children":162},{"className":161},[],[163],{"type":65,"value":164},"https:\u002F\u002Frube.app\u002Fmcp",{"type":65,"value":166}," as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.",{"type":59,"tag":168,"props":169,"children":170},"ol",{},[171,183,199,204],{"type":59,"tag":105,"props":172,"children":173},{},[174,176,181],{"type":65,"value":175},"Verify Rube MCP is available by confirming ",{"type":59,"tag":116,"props":177,"children":179},{"className":178},[],[180],{"type":65,"value":140},{"type":65,"value":182}," responds",{"type":59,"tag":105,"props":184,"children":185},{},[186,188,193,194],{"type":65,"value":187},"Call ",{"type":59,"tag":116,"props":189,"children":191},{"className":190},[],[192],{"type":65,"value":121},{"type":65,"value":123},{"type":59,"tag":116,"props":195,"children":197},{"className":196},[],[198],{"type":65,"value":129},{"type":59,"tag":105,"props":200,"children":201},{},[202],{"type":65,"value":203},"If connection is not ACTIVE, follow the returned auth link to complete setup",{"type":59,"tag":105,"props":205,"children":206},{},[207],{"type":65,"value":208},"Confirm connection status shows ACTIVE before running any workflows",{"type":59,"tag":210,"props":211,"children":212},"blockquote",{},[213],{"type":59,"tag":68,"props":214,"children":215},{},[216,221],{"type":59,"tag":77,"props":217,"children":218},{},[219],{"type":65,"value":220},"Note",{"type":65,"value":222},": Google Ads data is accessed through the Google Analytics toolkit integration. The tools below use GA4 properties linked to Google Ads accounts.",{"type":59,"tag":94,"props":224,"children":226},{"id":225},"core-workflows",[227],{"type":65,"value":228},"Core Workflows",{"type":59,"tag":230,"props":231,"children":233},"h3",{"id":232},"_1-list-google-ads-links-for-a-property",[234],{"type":65,"value":235},"1. List Google Ads Links for a Property",{"type":59,"tag":68,"props":237,"children":238},{},[239,241,247],{"type":65,"value":240},"Use ",{"type":59,"tag":116,"props":242,"children":244},{"className":243},[],[245],{"type":65,"value":246},"GOOGLE_ANALYTICS_ANALYTICS_ADMIN_PROPERTIES_GOOGLE_ADS",{"type":65,"value":248}," to retrieve all Google Ads account links configured for a GA4 property.",{"type":59,"tag":250,"props":251,"children":255},"pre",{"className":252,"code":254,"language":65},[253],"language-text","Tool: GOOGLE_ANALYTICS_ANALYTICS_ADMIN_PROPERTIES_GOOGLE_ADS\nParameters:\n  - parent (required): Property resource name (format: \"properties\u002F{propertyId}\")\n  - pageSize: Max results (1-200, default 50)\n  - pageToken: Pagination token\n",[256],{"type":59,"tag":116,"props":257,"children":259},{"__ignoreMap":258},"",[260],{"type":65,"value":254},{"type":59,"tag":230,"props":262,"children":264},{"id":263},"_2-run-a-ga4-performance-report",[265],{"type":65,"value":266},"2. Run a GA4 Performance Report",{"type":59,"tag":68,"props":268,"children":269},{},[270,271,277],{"type":65,"value":240},{"type":59,"tag":116,"props":272,"children":274},{"className":273},[],[275],{"type":65,"value":276},"GOOGLE_ANALYTICS_RUN_REPORT",{"type":65,"value":278}," to run customized reports with dimensions, metrics, date ranges, and filters.",{"type":59,"tag":250,"props":280,"children":283},{"className":281,"code":282,"language":65},[253],"Tool: GOOGLE_ANALYTICS_RUN_REPORT\nParameters:\n  - property (required): Property resource (format: \"properties\u002F{property_id}\")\n  - dimensions: Array of dimension objects (e.g., [{\"name\": \"sessionCampaignName\"}, {\"name\": \"date\"}])\n  - metrics: Array of metric objects (e.g., [{\"name\": \"sessions\"}, {\"name\": \"totalRevenue\"}])\n  - dateRanges: Array with startDate and endDate (e.g., [{\"startDate\": \"2025-01-01\", \"endDate\": \"2025-01-31\"}])\n  - dimensionFilter: Filter by dimension values\n  - metricFilter: Filter by metric values (applied after aggregation)\n  - orderBys: Sort results\n  - limit: Max rows to return (1-250000)\n",[284],{"type":59,"tag":116,"props":285,"children":286},{"__ignoreMap":258},[287],{"type":65,"value":282},{"type":59,"tag":230,"props":289,"children":291},{"id":290},"_3-check-dimensionmetric-compatibility",[292],{"type":65,"value":293},"3. Check Dimension\u002FMetric Compatibility",{"type":59,"tag":68,"props":295,"children":296},{},[297,298,304],{"type":65,"value":240},{"type":59,"tag":116,"props":299,"children":301},{"className":300},[],[302],{"type":65,"value":303},"GOOGLE_ANALYTICS_CHECK_COMPATIBILITY",{"type":65,"value":305}," to validate dimension and metric combinations before running a report.",{"type":59,"tag":250,"props":307,"children":310},{"className":308,"code":309,"language":65},[253],"Tool: GOOGLE_ANALYTICS_CHECK_COMPATIBILITY\nDescription: Validates compatibility of chosen dimensions or metrics\n  before running a report.\nNote: Call RUBE_SEARCH_TOOLS to get the full schema for this tool.\n",[311],{"type":59,"tag":116,"props":312,"children":313},{"__ignoreMap":258},[314],{"type":65,"value":309},{"type":59,"tag":230,"props":316,"children":318},{"id":317},"_4-list-ga4-accounts",[319],{"type":65,"value":320},"4. List GA4 Accounts",{"type":59,"tag":68,"props":322,"children":323},{},[324,325,331],{"type":65,"value":240},{"type":59,"tag":116,"props":326,"children":328},{"className":327},[],[329],{"type":65,"value":330},"GOOGLE_ANALYTICS_LIST_ACCOUNTS",{"type":65,"value":332}," to enumerate all accessible Google Analytics accounts.",{"type":59,"tag":250,"props":334,"children":337},{"className":335,"code":336,"language":65},[253],"Tool: GOOGLE_ANALYTICS_LIST_ACCOUNTS\nParameters:\n  - pageSize: Max accounts to return\n  - pageToken: Pagination token\n  - showDeleted: Include soft-deleted accounts\n",[338],{"type":59,"tag":116,"props":339,"children":340},{"__ignoreMap":258},[341],{"type":65,"value":336},{"type":59,"tag":230,"props":343,"children":345},{"id":344},"_5-list-ga4-properties-under-an-account",[346],{"type":65,"value":347},"5. List GA4 Properties Under an Account",{"type":59,"tag":68,"props":349,"children":350},{},[351,352,358],{"type":65,"value":240},{"type":59,"tag":116,"props":353,"children":355},{"className":354},[],[356],{"type":65,"value":357},"GOOGLE_ANALYTICS_LIST_PROPERTIES",{"type":65,"value":359}," to list properties for a specific GA4 account.",{"type":59,"tag":250,"props":361,"children":364},{"className":362,"code":363,"language":65},[253],"Tool: GOOGLE_ANALYTICS_LIST_PROPERTIES\nParameters:\n  - account (required): Account resource name (format: \"accounts\u002F{account_id}\")\n  - pageSize: Max properties (1-200)\n  - pageToken: Pagination token\n  - showDeleted: Include trashed properties\n",[365],{"type":59,"tag":116,"props":366,"children":367},{"__ignoreMap":258},[368],{"type":65,"value":363},{"type":59,"tag":230,"props":370,"children":372},{"id":371},"_6-get-available-dimensions-and-metrics",[373],{"type":65,"value":374},"6. Get Available Dimensions and Metrics",{"type":59,"tag":68,"props":376,"children":377},{},[378,379,385],{"type":65,"value":240},{"type":59,"tag":116,"props":380,"children":382},{"className":381},[],[383],{"type":65,"value":384},"GOOGLE_ANALYTICS_GET_METADATA",{"type":65,"value":386}," to discover all available fields for building reports.",{"type":59,"tag":250,"props":388,"children":391},{"className":389,"code":390,"language":65},[253],"Tool: GOOGLE_ANALYTICS_GET_METADATA\nDescription: Gets metadata for dimensions, metrics, and comparisons\n  for a GA4 property.\nNote: Call RUBE_SEARCH_TOOLS to get the full schema for this tool.\n",[392],{"type":59,"tag":116,"props":393,"children":394},{"__ignoreMap":258},[395],{"type":65,"value":390},{"type":59,"tag":94,"props":397,"children":399},{"id":398},"common-patterns",[400],{"type":65,"value":401},"Common Patterns",{"type":59,"tag":101,"props":403,"children":404},{},[405,436,452,507,523],{"type":59,"tag":105,"props":406,"children":407},{},[408,413,415,420,422,427,429,434],{"type":59,"tag":77,"props":409,"children":410},{},[411],{"type":65,"value":412},"Discover then report",{"type":65,"value":414},": Use ",{"type":59,"tag":116,"props":416,"children":418},{"className":417},[],[419],{"type":65,"value":330},{"type":65,"value":421}," to find account IDs, then ",{"type":59,"tag":116,"props":423,"children":425},{"className":424},[],[426],{"type":65,"value":357},{"type":65,"value":428}," to find property IDs, then ",{"type":59,"tag":116,"props":430,"children":432},{"className":431},[],[433],{"type":65,"value":276},{"type":65,"value":435}," to pull data.",{"type":59,"tag":105,"props":437,"children":438},{},[439,444,445,450],{"type":59,"tag":77,"props":440,"children":441},{},[442],{"type":65,"value":443},"Validate before querying",{"type":65,"value":414},{"type":59,"tag":116,"props":446,"children":448},{"className":447},[],[449],{"type":65,"value":303},{"type":65,"value":451}," to validate dimension\u002Fmetric combinations before running reports to avoid 400 errors.",{"type":59,"tag":105,"props":453,"children":454},{},[455,460,462,468,470,476,477,483,485,491,492,498,499,505],{"type":59,"tag":77,"props":456,"children":457},{},[458],{"type":65,"value":459},"Campaign performance",{"type":65,"value":461},": Run reports with dimensions like ",{"type":59,"tag":116,"props":463,"children":465},{"className":464},[],[466],{"type":65,"value":467},"sessionCampaignName",{"type":65,"value":469},", ",{"type":59,"tag":116,"props":471,"children":473},{"className":472},[],[474],{"type":65,"value":475},"sessionSource",{"type":65,"value":469},{"type":59,"tag":116,"props":478,"children":480},{"className":479},[],[481],{"type":65,"value":482},"sessionMedium",{"type":65,"value":484}," and metrics like ",{"type":59,"tag":116,"props":486,"children":488},{"className":487},[],[489],{"type":65,"value":490},"sessions",{"type":65,"value":469},{"type":59,"tag":116,"props":493,"children":495},{"className":494},[],[496],{"type":65,"value":497},"activeUsers",{"type":65,"value":469},{"type":59,"tag":116,"props":500,"children":502},{"className":501},[],[503],{"type":65,"value":504},"totalRevenue",{"type":65,"value":506},".",{"type":59,"tag":105,"props":508,"children":509},{},[510,515,516,521],{"type":59,"tag":77,"props":511,"children":512},{},[513],{"type":65,"value":514},"Ads link discovery",{"type":65,"value":414},{"type":59,"tag":116,"props":517,"children":519},{"className":518},[],[520],{"type":65,"value":246},{"type":65,"value":522}," to find which Google Ads accounts are linked to each GA4 property.",{"type":59,"tag":105,"props":524,"children":525},{},[526,531,532,537],{"type":59,"tag":77,"props":527,"children":528},{},[529],{"type":65,"value":530},"Field discovery",{"type":65,"value":414},{"type":59,"tag":116,"props":533,"children":535},{"className":534},[],[536],{"type":65,"value":384},{"type":65,"value":538}," to list all available dimensions and metrics before constructing complex reports.",{"type":59,"tag":94,"props":540,"children":542},{"id":541},"known-pitfalls",[543],{"type":65,"value":544},"Known Pitfalls",{"type":59,"tag":101,"props":546,"children":547},{},[548,586,646,669,695,712,737],{"type":59,"tag":105,"props":549,"children":550},{},[551,556,558,564,565,571,573,578,579,584],{"type":59,"tag":77,"props":552,"children":553},{},[554],{"type":65,"value":555},"Dimension\u002Fmetric compatibility",{"type":65,"value":557},": The GA4 API has strict compatibility rules. Not all dimensions can be combined with all metrics. Demographic dimensions (e.g., ",{"type":59,"tag":116,"props":559,"children":561},{"className":560},[],[562],{"type":65,"value":563},"userAgeBracket",{"type":65,"value":469},{"type":59,"tag":116,"props":566,"children":568},{"className":567},[],[569],{"type":65,"value":570},"userGender",{"type":65,"value":572},") are often incompatible with session-scoped dimensions\u002Ffilters (e.g., ",{"type":59,"tag":116,"props":574,"children":576},{"className":575},[],[577],{"type":65,"value":467},{"type":65,"value":469},{"type":59,"tag":116,"props":580,"children":582},{"className":581},[],[583],{"type":65,"value":475},{"type":65,"value":585},").",{"type":59,"tag":105,"props":587,"children":588},{},[589,600,602,607,609,615,616,622,623,629,630,636,638,644],{"type":59,"tag":77,"props":590,"children":591},{},[592,598],{"type":59,"tag":116,"props":593,"children":595},{"className":594},[],[596],{"type":65,"value":597},"dateRange",{"type":65,"value":599}," is NOT a dimension",{"type":65,"value":601},": Do not include ",{"type":59,"tag":116,"props":603,"children":605},{"className":604},[],[606],{"type":65,"value":597},{"type":65,"value":608}," in the dimensions array. Use ",{"type":59,"tag":116,"props":610,"children":612},{"className":611},[],[613],{"type":65,"value":614},"date",{"type":65,"value":469},{"type":59,"tag":116,"props":617,"children":619},{"className":618},[],[620],{"type":65,"value":621},"dateHour",{"type":65,"value":469},{"type":59,"tag":116,"props":624,"children":626},{"className":625},[],[627],{"type":65,"value":628},"year",{"type":65,"value":469},{"type":59,"tag":116,"props":631,"children":633},{"className":632},[],[634],{"type":65,"value":635},"month",{"type":65,"value":637},", or ",{"type":59,"tag":116,"props":639,"children":641},{"className":640},[],[642],{"type":65,"value":643},"week",{"type":65,"value":645}," instead.",{"type":59,"tag":105,"props":647,"children":648},{},[649,660,662,667],{"type":59,"tag":77,"props":650,"children":651},{},[652,658],{"type":59,"tag":116,"props":653,"children":655},{"className":654},[],[656],{"type":65,"value":657},"exits",{"type":65,"value":659}," is NOT valid",{"type":65,"value":661},": Neither ",{"type":59,"tag":116,"props":663,"children":665},{"className":664},[],[666],{"type":65,"value":657},{"type":65,"value":668}," as a dimension nor as a metric is valid in GA4.",{"type":59,"tag":105,"props":670,"children":671},{},[672,677,679,685,687,693],{"type":59,"tag":77,"props":673,"children":674},{},[675],{"type":65,"value":676},"Property ID format",{"type":65,"value":678},": Must be ",{"type":59,"tag":116,"props":680,"children":682},{"className":681},[],[683],{"type":65,"value":684},"properties\u002F{numeric_id}",{"type":65,"value":686}," (e.g., ",{"type":59,"tag":116,"props":688,"children":690},{"className":689},[],[691],{"type":65,"value":692},"properties\u002F123456789",{"type":65,"value":694},"). Do not use Google Account IDs (long OAuth IDs).",{"type":59,"tag":105,"props":696,"children":697},{},[698,703,704,710],{"type":59,"tag":77,"props":699,"children":700},{},[701],{"type":65,"value":702},"Account ID format",{"type":65,"value":678},{"type":59,"tag":116,"props":705,"children":707},{"className":706},[],[708],{"type":65,"value":709},"accounts\u002F{numeric_id}",{"type":65,"value":711}," where the numeric ID is 6-10 digits.",{"type":59,"tag":105,"props":713,"children":714},{},[715,720,721,727,729,735],{"type":59,"tag":77,"props":716,"children":717},{},[718],{"type":65,"value":719},"Filter separation",{"type":65,"value":414},{"type":59,"tag":116,"props":722,"children":724},{"className":723},[],[725],{"type":65,"value":726},"dimensionFilter",{"type":65,"value":728}," only for dimension fields and ",{"type":59,"tag":116,"props":730,"children":732},{"className":731},[],[733],{"type":65,"value":734},"metricFilter",{"type":65,"value":736}," only for metric fields. Mixing them will cause errors.",{"type":59,"tag":105,"props":738,"children":739},{},[740,745],{"type":59,"tag":77,"props":741,"children":742},{},[743],{"type":65,"value":744},"Max 9 dimensions and 10 metrics",{"type":65,"value":746}," per report request.",{"type":59,"tag":94,"props":748,"children":750},{"id":749},"quick-reference",[751],{"type":65,"value":752},"Quick Reference",{"type":59,"tag":754,"props":755,"children":756},"table",{},[757,781],{"type":59,"tag":758,"props":759,"children":760},"thead",{},[761],{"type":59,"tag":762,"props":763,"children":764},"tr",{},[765,771,776],{"type":59,"tag":766,"props":767,"children":768},"th",{},[769],{"type":65,"value":770},"Action",{"type":59,"tag":766,"props":772,"children":773},{},[774],{"type":65,"value":775},"Tool",{"type":59,"tag":766,"props":777,"children":778},{},[779],{"type":65,"value":780},"Key Parameters",{"type":59,"tag":782,"props":783,"children":784},"tbody",{},[785,811,857,878,903,934],{"type":59,"tag":762,"props":786,"children":787},{},[788,794,802],{"type":59,"tag":789,"props":790,"children":791},"td",{},[792],{"type":65,"value":793},"List Ads links",{"type":59,"tag":789,"props":795,"children":796},{},[797],{"type":59,"tag":116,"props":798,"children":800},{"className":799},[],[801],{"type":65,"value":246},{"type":59,"tag":789,"props":803,"children":804},{},[805],{"type":59,"tag":116,"props":806,"children":808},{"className":807},[],[809],{"type":65,"value":810},"parent",{"type":59,"tag":762,"props":812,"children":813},{},[814,819,827],{"type":59,"tag":789,"props":815,"children":816},{},[817],{"type":65,"value":818},"Run report",{"type":59,"tag":789,"props":820,"children":821},{},[822],{"type":59,"tag":116,"props":823,"children":825},{"className":824},[],[826],{"type":65,"value":276},{"type":59,"tag":789,"props":828,"children":829},{},[830,836,837,843,844,850,851],{"type":59,"tag":116,"props":831,"children":833},{"className":832},[],[834],{"type":65,"value":835},"property",{"type":65,"value":469},{"type":59,"tag":116,"props":838,"children":840},{"className":839},[],[841],{"type":65,"value":842},"dimensions",{"type":65,"value":469},{"type":59,"tag":116,"props":845,"children":847},{"className":846},[],[848],{"type":65,"value":849},"metrics",{"type":65,"value":469},{"type":59,"tag":116,"props":852,"children":854},{"className":853},[],[855],{"type":65,"value":856},"dateRanges",{"type":59,"tag":762,"props":858,"children":859},{},[860,865,873],{"type":59,"tag":789,"props":861,"children":862},{},[863],{"type":65,"value":864},"Check compatibility",{"type":59,"tag":789,"props":866,"children":867},{},[868],{"type":59,"tag":116,"props":869,"children":871},{"className":870},[],[872],{"type":65,"value":303},{"type":59,"tag":789,"props":874,"children":875},{},[876],{"type":65,"value":877},"(see full schema via RUBE_SEARCH_TOOLS)",{"type":59,"tag":762,"props":879,"children":880},{},[881,886,894],{"type":59,"tag":789,"props":882,"children":883},{},[884],{"type":65,"value":885},"List accounts",{"type":59,"tag":789,"props":887,"children":888},{},[889],{"type":59,"tag":116,"props":890,"children":892},{"className":891},[],[893],{"type":65,"value":330},{"type":59,"tag":789,"props":895,"children":896},{},[897],{"type":59,"tag":116,"props":898,"children":900},{"className":899},[],[901],{"type":65,"value":902},"pageSize",{"type":59,"tag":762,"props":904,"children":905},{},[906,911,919],{"type":59,"tag":789,"props":907,"children":908},{},[909],{"type":65,"value":910},"List properties",{"type":59,"tag":789,"props":912,"children":913},{},[914],{"type":59,"tag":116,"props":915,"children":917},{"className":916},[],[918],{"type":65,"value":357},{"type":59,"tag":789,"props":920,"children":921},{},[922,928,929],{"type":59,"tag":116,"props":923,"children":925},{"className":924},[],[926],{"type":65,"value":927},"account",{"type":65,"value":469},{"type":59,"tag":116,"props":930,"children":932},{"className":931},[],[933],{"type":65,"value":902},{"type":59,"tag":762,"props":935,"children":936},{},[937,942,950],{"type":59,"tag":789,"props":938,"children":939},{},[940],{"type":65,"value":941},"Get metadata",{"type":59,"tag":789,"props":943,"children":944},{},[945],{"type":59,"tag":116,"props":946,"children":948},{"className":947},[],[949],{"type":65,"value":384},{"type":59,"tag":789,"props":951,"children":952},{},[953],{"type":65,"value":877},{"type":59,"tag":955,"props":956,"children":957},"hr",{},[],{"type":59,"tag":68,"props":959,"children":960},{},[961],{"type":59,"tag":962,"props":963,"children":964},"em",{},[965,967],{"type":65,"value":966},"Powered by ",{"type":59,"tag":85,"props":968,"children":971},{"href":969,"rel":970},"https:\u002F\u002Fcomposio.dev",[89],[972],{"type":65,"value":9},{"items":974,"total":1058},[975,989,1005,1014,1024,1036,1045],{"slug":976,"name":977,"fn":978,"description":979,"org":980,"tags":981,"stars":26,"repoUrl":27,"updatedAt":988},"21risk-automation","-21risk-automation","automate 21risk compliance and safety tasks","Automate 21risk tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[982,983,984,985],{"name":18,"slug":19,"type":16},{"name":9,"slug":8,"type":16},{"name":21,"slug":22,"type":16},{"name":986,"slug":987,"type":16},"Risk Assessment","risk-assessment","2026-07-15T05:54:18.790529",{"slug":990,"name":991,"fn":992,"description":993,"org":994,"tags":995,"stars":26,"repoUrl":27,"updatedAt":1004},"2chat-automation","-2chat-automation","automate 2chat messaging tasks","Automate 2chat tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[996,997,1000,1001],{"name":18,"slug":19,"type":16},{"name":998,"slug":999,"type":16},"Communications","communications",{"name":21,"slug":22,"type":16},{"name":1002,"slug":1003,"type":16},"Messaging","messaging","2026-07-15T05:51:27.190332",{"slug":1006,"name":1006,"fn":1007,"description":1008,"org":1009,"tags":1010,"stars":26,"repoUrl":27,"updatedAt":1013},"ably-automation","automate Ably tasks with Composio","Automate Ably tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1011,1012],{"name":18,"slug":19,"type":16},{"name":21,"slug":22,"type":16},"2026-07-12T08:09:55.453088",{"slug":1015,"name":1015,"fn":1016,"description":1017,"org":1018,"tags":1019,"stars":26,"repoUrl":27,"updatedAt":1023},"abstract-automation","automate Abstract tasks via Composio","Automate Abstract tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1020,1021,1022],{"name":18,"slug":19,"type":16},{"name":9,"slug":8,"type":16},{"name":21,"slug":22,"type":16},"2026-07-15T05:45:16.470309",{"slug":1025,"name":1025,"fn":1026,"description":1027,"org":1028,"tags":1029,"stars":26,"repoUrl":27,"updatedAt":1035},"abuselpdb-automation","automate Abuselpdb tasks via Composio","Automate Abuselpdb tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1030,1031,1032],{"name":18,"slug":19,"type":16},{"name":21,"slug":22,"type":16},{"name":1033,"slug":1034,"type":16},"Security","security","2026-07-15T05:56:20.013366",{"slug":1037,"name":1037,"fn":1038,"description":1039,"org":1040,"tags":1041,"stars":26,"repoUrl":27,"updatedAt":1044},"abyssale-automation","automate Abyssale tasks via Composio","Automate Abyssale tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1042,1043],{"name":18,"slug":19,"type":16},{"name":9,"slug":8,"type":16},"2026-07-15T05:54:50.762889",{"slug":1046,"name":1046,"fn":1047,"description":1048,"org":1049,"tags":1050,"stars":26,"repoUrl":27,"updatedAt":1057},"accelo-automation","automate Accelo tasks via Composio","Automate Accelo tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1051,1052,1053,1056],{"name":18,"slug":19,"type":16},{"name":9,"slug":8,"type":16},{"name":1054,"slug":1055,"type":16},"CRM","crm",{"name":21,"slug":22,"type":16},"2026-07-15T05:48:43.429136",860,{"items":1060,"total":1164},[1061,1068,1075,1080,1086,1092,1097,1104,1118,1131,1144,1154],{"slug":976,"name":977,"fn":978,"description":979,"org":1062,"tags":1063,"stars":26,"repoUrl":27,"updatedAt":988},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1064,1065,1066,1067],{"name":18,"slug":19,"type":16},{"name":9,"slug":8,"type":16},{"name":21,"slug":22,"type":16},{"name":986,"slug":987,"type":16},{"slug":990,"name":991,"fn":992,"description":993,"org":1069,"tags":1070,"stars":26,"repoUrl":27,"updatedAt":1004},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1071,1072,1073,1074],{"name":18,"slug":19,"type":16},{"name":998,"slug":999,"type":16},{"name":21,"slug":22,"type":16},{"name":1002,"slug":1003,"type":16},{"slug":1006,"name":1006,"fn":1007,"description":1008,"org":1076,"tags":1077,"stars":26,"repoUrl":27,"updatedAt":1013},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1078,1079],{"name":18,"slug":19,"type":16},{"name":21,"slug":22,"type":16},{"slug":1015,"name":1015,"fn":1016,"description":1017,"org":1081,"tags":1082,"stars":26,"repoUrl":27,"updatedAt":1023},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1083,1084,1085],{"name":18,"slug":19,"type":16},{"name":9,"slug":8,"type":16},{"name":21,"slug":22,"type":16},{"slug":1025,"name":1025,"fn":1026,"description":1027,"org":1087,"tags":1088,"stars":26,"repoUrl":27,"updatedAt":1035},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1089,1090,1091],{"name":18,"slug":19,"type":16},{"name":21,"slug":22,"type":16},{"name":1033,"slug":1034,"type":16},{"slug":1037,"name":1037,"fn":1038,"description":1039,"org":1093,"tags":1094,"stars":26,"repoUrl":27,"updatedAt":1044},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1095,1096],{"name":18,"slug":19,"type":16},{"name":9,"slug":8,"type":16},{"slug":1046,"name":1046,"fn":1047,"description":1048,"org":1098,"tags":1099,"stars":26,"repoUrl":27,"updatedAt":1057},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1100,1101,1102,1103],{"name":18,"slug":19,"type":16},{"name":9,"slug":8,"type":16},{"name":1054,"slug":1055,"type":16},{"name":21,"slug":22,"type":16},{"slug":1105,"name":1105,"fn":1106,"description":1107,"org":1108,"tags":1109,"stars":26,"repoUrl":27,"updatedAt":1117},"accredible-certificates-automation","automate Accredible certificate management","Automate Accredible Certificates tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1110,1111,1114],{"name":18,"slug":19,"type":16},{"name":1112,"slug":1113,"type":16},"Documents","documents",{"name":1115,"slug":1116,"type":16},"E-Signature","e-signature","2026-07-15T05:55:33.159639",{"slug":1119,"name":1119,"fn":1120,"description":1121,"org":1122,"tags":1123,"stars":26,"repoUrl":27,"updatedAt":1130},"acculynx-automation","automate Acculynx construction management tasks","Automate Acculynx tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1124,1125,1126,1127],{"name":18,"slug":19,"type":16},{"name":9,"slug":8,"type":16},{"name":21,"slug":22,"type":16},{"name":1128,"slug":1129,"type":16},"Operations","operations","2026-07-15T05:58:48.059284",{"slug":1132,"name":1132,"fn":1133,"description":1134,"org":1135,"tags":1136,"stars":26,"repoUrl":27,"updatedAt":1143},"active-campaign-automation","automate ActiveCampaign marketing and CRM tasks","Automate ActiveCampaign tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1137,1138,1139,1140],{"name":18,"slug":19,"type":16},{"name":9,"slug":8,"type":16},{"name":1054,"slug":1055,"type":16},{"name":1141,"slug":1142,"type":16},"Email Marketing","email-marketing","2026-07-15T05:49:44.281711",{"slug":1145,"name":1145,"fn":1146,"description":1147,"org":1148,"tags":1149,"stars":26,"repoUrl":27,"updatedAt":1153},"addresszen-automation","automate Addresszen address validation","Automate Addresszen tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1150,1151,1152],{"name":18,"slug":19,"type":16},{"name":9,"slug":8,"type":16},{"name":21,"slug":22,"type":16},"2026-07-15T05:47:51.742515",{"slug":1155,"name":1155,"fn":1156,"description":1157,"org":1158,"tags":1159,"stars":26,"repoUrl":27,"updatedAt":1163},"adobe-automation","automate Adobe tasks via Composio","Automate Adobe tasks via Rube MCP (Composio). Always search tools first for current schemas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1160,1161,1162],{"name":18,"slug":19,"type":16},{"name":9,"slug":8,"type":16},{"name":21,"slug":22,"type":16},"2026-07-15T05:45:05.303254",863]