Docs menu
Get started
What is Opus GrowthQuickstartAdd to your AIHow it worksSafety and approvalCreditsPlansFAQAI apps
All AI appsChatGPTClaudeGrokPerplexityClaude CodeCodexGemini CLIOpenClawCursorVS CodeWindsurfOther MCPConnect ad platforms
Google AdsMeta AdsLinkedIn AdsMicrosoft AdvertisingTikTok AdsChatGPT AdsAgencies and MCCConnect data sources
Search ConsoleGoogle AnalyticsYouTubeBusiness ProfileTag ManagerWebsites and SEO
AI ServerWordPressSEO IntelligenceClick fraudTool reference
All toolsGoogle AdsMeta AdsTikTok AdsLinkedIn AdsMicrosoft AdvertisingChatGPT AdsSearch ConsoleGoogle AnalyticsYouTubeBusiness ProfileTag ManagerWordPressAI ServerSEO IntelligenceClick fraudCross-channelAccount and billingLanguage
Unified Performance Report
ONE report tool for EVERY connected platform.
- Type
- Reads only
- Credits
- 2
- Platform
- Google Ads
- Approval
- Not needed, nothing changes
What it does
ONE report tool for EVERY connected platform. platform: google_ads | meta (facebook/instagram) | tiktok | linkedin | microsoft | chatgpt_ads (OpenAI ChatGPT Ads) | ga4 | search_console | youtube | business_profile; when omitted, the only connected ad platform is used (platform_note says so). account = that platform's account id (Google Ads customer_id, Meta account_id, GA4 property, Search Console site url, Business Profile location…); empty = the connected/default one. days = lookback window (or start_date/end_date as YYYY-MM-DD). For the ad platforms (google_ads, meta, tiktok, linkedin, microsoft) days=N means the last N FULL days, excluding today, on every platform alike (chatgpt_ads: the last N days up to now in the ad account's time zone; its rows include conversions and conversion_value when conversion tracking is set up), and every reply carries `period` {start, end} = the exact range that was reported: quote that range, not the one you assumed. account_snapshot returns performance SINCE EACH CAMPAIGN STARTED (lifetime) next to a recent window. For metrics or breakdowns this report does not expose, use the platform's free query tool (describe lists it). level = row granularity for ad platforms (campaign | ad_group/adset | ad). breakdown = split rows by a dimension (device, day, country, age, gender, publisher_platform… for GA4/Search Console this is the dimension: channel, source, page, query…). describe(platform) lists exactly which levels and breakdowns that platform supports. For search_console the breakdown also takes a COMBINATION and a SORT: 'page,query' returns which page ranks for which term, and 'query by impressions' sorts by impressions instead of clicks; Search Console itself only returns rows by clicks, so high-impression low-click terms are invisible without it. limit controls the response page size, not the total retrievable data. For a paged Google Ads, Meta, TikTok, LinkedIn, Microsoft, GA4, or Search Console reply, call get_report again with the same platform and page_token=next_page_token; it reads the cached next page without another query or credit. Returns the platform's metric rows.
MCP: get_report
How to use it
You don't call tools by name. Write what you want in ChatGPT, Claude or another assistant connected to Opus Growth, in your own words; it picks this tool when it fits.
Parameters
| Name | Type | Required | Default | |
|---|---|---|---|---|
| platform | string | Optional | · | Advertising, analytics, or publishing platform to use for this operation. |
| account | string | Optional | · | Connected account selector for this operation. Use the exact account ID or account value accepted by this tool; when in doubt, obtain it from the relevant account-listing tool. |
| days | integer | Optional | 30 | Number of calendar days to look back from now for this analysis or report. |
| level | string | Optional | · | Entity or reporting aggregation level to use, such as campaign, ad group, ad, or keyword when supported. |
| breakdown | string | Optional | · | Dimension by which to split the requested report, using a value supported by the provider. |
| start_date | string | Optional | · | Inclusive start date for the requested period, in the format required by this tool. |
| end_date | string | Optional | · | Inclusive end date for the requested period, in the format required by this tool. |
| limit | integer | Optional | 0 | Maximum number of rows returned in this response. When the result has_more flag is true, continue with next_page_token rather than assuming the list is complete. |
| page_token | string | Optional | · | Continuation token returned as next_page_token by a previous call. Leave empty for the first page; pass it unchanged to retrieve the cached next page. |
Related tools
account_auditAccount Snapshotaccount_snapshotAdd Keywordsadd_keywordsAdd Negative Keywordadd_negative_keywordAdd PMax Imagesadd_pmax_imagesApply Recommendationapply_recommendationBudget Pacing Alertsbudget_pacing_alertsCompetitor Adscompetitor_adsConnect Business Profileconnect_business_profile