{"id":51712,"plugin_id":"plugin_asdk_app_6ac6b7ec54588191a335e2123616b0f0","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-24T13:47:14.917Z","digest":"5dbec17831de811258128d0ecd4bda794fd921e9cbf0bc620aa4529872c116df","against":null,"payload":{"description":"Retrieve and analyze reporting from the user's connected Google Ads accounts with Adzviser. Use for spend, clicks, conversions, campaign comparisons, trends, raw rows and Data Mode. Public competitor ad-library searches and ad-account changes are not supported.","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":248}],"name":"adzviser-data-mode","skill_md_contents":"---\nname: adzviser-data-mode\ndescription: Retrieve and analyze reporting from the user's connected Google Ads accounts with Adzviser. Use for spend, clicks, conversions, campaign comparisons, trends, raw rows and Data Mode. Public competitor ad-library searches and ad-account changes are not supported.\n---\n\n# Google Ads Data Mode\n\nCall `retrieve_reporting_data` for questions about numbers. Use the preview\nskill only for an explicitly requested interactive report; do not open a widget\nafter a successful direct retrieval merely to display the same request.\n\n## Minimal report request\n\n1. Call `list_workspace` without arguments. Use the user's named workspace. If\n   it is unavailable, explain the access problem rather than substituting one.\n   When multiple suitable workspaces exist and none was named, ask which to use.\n2. Call `list_metrics_and_breakdowns_google_ads` without arguments and use the\n   exact returned field labels. Request only metrics and dimensions needed for\n   the user's question; do not select an entire catalog or default to all data.\n3. Resolve inclusive YYYY-MM-DD date pairs using the current date. Last month is\n   the previous complete calendar month; last week is the previous complete\n   Monday-Sunday week unless the user specifies otherwise. Report dates follow\n   the source account's reporting timezone, not an invented UTC conversion.\n4. Send `adzviser_request` with `workspace_name`, `date_ranges`, optional\n   `time_granularity`, and `assorted_requests.google_ads_request` containing\n   `metrics` and optional `breakdowns`. Include both periods in one comparison\n   request. No other source keys are supported by this plugin.\n5. Inspect each header and row under\n   `structuredContent.reportingData.GoogleAds.data`. Results are grouped into\n   tables such as Account or Campaign; `data` is not itself a single flat table.\n   Surface relevant `note_of_assumption` text.\n\nNever send the full conversation, chat history, raw user prompt, unrelated\ncontext, credentials, email addresses or session tokens as report inputs. Select\nfield names and dates from the question instead. `reporting_mode=data` is routing\nintent, not a tool argument. Do not send `client_id`, `reporting_mode` or\n`_widget_action`; `set_reporting_mode` is an app-only preference control.\n\n## Google Ads interpretation\n\n- Cost, Clicks, Impressions and Conversions are valid examples; confirm current\n  labels through discovery. Do not guess similar labels or invent filters,\n  query text, sorting, limits, arbitrary URLs or a natural-language input field.\n- Include Account Currency Code when reporting monetary amounts. Keep currencies\n  separate. Cost can be returned as `$ Cost`; use the actual column header and\n  currency, and do not divide an already formatted amount by a million again.\n- Use Campaign ID with Campaign Name to distinguish campaigns. Additional source\n  context columns may be returned; summarize only what answers the question.\n- Conversions can be fractional due to attribution. Do not round them to whole\n  people, substitute All Conversions, or call conversion value collected revenue.\n- For CTR, request Clicks and Impressions and calculate clicks / impressions × 100.\n  Use N/A for a zero denominator; aggregate from totals rather than averaging\n  percentages. Use the returned units for other rates and ROAS.\n- Use `time_granularity` for Date, Week, Month or Quarter rather than adding those\n  labels to breakdowns. Daily dates may be returned in a Date Range column.\n- Empty/header-only tables mean no matching returned rows. Do not invent zero\n  rows for missing dates or groups. A zero comparison baseline has no finite\n  percentage change. Distinguish a partial period from a complete one.\n- Never use `google_ads_transparency_request` here. The plugin supports connected\n  account performance, not competitor or public-ad searches. It cannot edit\n  campaigns, change bids/budgets, publish ads, make purchases or delete records.\n\nFor an unsupported field, refresh discovery and correct the request once. For\nan authentication or access error, explain the returned issue without claiming\nthe report succeeded. Reuse successful rows instead of repeating the request.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}