<< All versions

Skill v1.0.0

currentAutomated scan100/100
googleads/google-ads-api-developer-assistant/assistant-tutorial
──Details
PublishedOctober 25, 2026 at 09:13 AM
Content Hashsha256:f6aecf885be19752...
Git SHAdbb730a199f6
──Files
Files (1 file, 4.5 KB)
SKILL.md4.5 KBactive
SKILL.md · 71 lines · 4.5 KB

version: "1.0.0" name: assistant-tutorial description: An interactive tutorial on how to use the Google Ads API Developer Assistant.


Google Ads API Developer Assistant Tutorial (Interactive Guide)

[!NOTE]
* If you want a real-world analogy and conceptual explanation for any Google Ads API concept, use the /explain <concept> command.
* If you want to walk through a process or workflow step-by-step, use the /step-by-step <process> command.

Critical Directive for the Agent

When a user invokes /assistant-tutorial or requests this tutorial:

  1. NO MD SYNOPSIS FILES: You MUST NOT write any markdown files or artifacts summarizing the tutorial.
  2. ALWAYS INTERACTIVE: You MUST run this tutorial as an interactive, conversational experience.
  3. TOPIC SELECTION: Start by asking the user which specific topic they want to learn about first using an interactive question or message.
  4. PROGRESSIVE DISCLOSURE: Present information in small, manageable pieces. Ask checking questions or prompt the user to proceed before moving on to the next step.
  5. EXPLAIN ANSWER OPTION: Whenever you pose an interactive check question or quiz to the user, include a choice/option that allows them to ask the Assistant to answer and explain the answer.

Tutorial Content Reference

Topic 1: Core Principles & Constraints

  • The "NO MUTATE" Read-Only Policy: The Assistant cannot execute mutate operations (such as create, update, or delete) directly. Instead, it provides the code for the mutate in the ~/saved/code/ directory, which the user can run themselves or incorporate into their codebase.
  • API Versioning: All code and GAQL queries target the confirmed version in config/api_version.txt.

Topic 2: Campaign Creation (Code Generation Workflow)

  • Explain the generation & execution workflow.
  • Show standard template structures.
  • NO MUTATE Execution Warning: Remind the user that the Assistant is designed for read-only operations and cannot execute campaign creation mutate code directly.

Topic 3: Shared Sets (Exclusion Lists)

  • Explain SharedSet (reusable keyword/placement exclusion folders), SharedCriterion (items), and CampaignSharedSet (connector).
  • Describe relationships and benefits.

Topic 4: Code Quality & Standards

  • Detail automated linting (ruff), type annotations, and error handling (GoogleAdsException wrapper) that the assistant enforces.

Topic 5: Finding Disapproved Ads (Cross-Account Audit)

  • Phase 1: Determine Parent Manager Account (MCC) using customer_manager_link.
  • Phase 2: Retrieve child accounts recursively using get_cids_under_mcc script.
  • Phase 3: Query disapproved ads via ad_group_ad resource.

Topic 6: Creating an AI Max for Search Campaign

  • What is AI Max? Refers to "AI Max for Search campaigns", NOT "Performance Max" campaigns.
  • Enabling AI Max: Set ai_max_setting.enable_ai_max = True on the Campaign resource.
  • Campaign Configuration: advertising_channel_type = SEARCH, budget, bidding strategy like Maximize Conversions.
  • Ad Creation: RSA in AdGroupAd using ResponsiveSearchAdInfo.

Topic 7: Creating a Demand Gen Campaign

  • What is Demand Gen? Drives action across YouTube, Discover, and Gmail using image and video assets.
  • Campaign Configuration: advertising_channel_type = DEMAND_GEN.
  • Ad Group Settings: demand_gen_ad_group_settings.channel_controls.selected_channels.

Topic 8: Writing Prompts to Produce Reports

  • Prompting Best Practices: Define main resource, specify metrics, request date/device segments.
  • GAQL Validation Protocol: Programmatic 4-step sequence (Schema Discovery, Compatibility Check, Static Analysis, Runtime Dry Run).

Topic 9: Troubleshooting Conversion Problems

  • Diagnostic Protocol: Run troubleshoot_conversions.py for conversion upload issues.
  • Pre-Upload Validation: Run validate_conversion_upload.py to validate CSV formatting and logical time checks before uploading.

Topic 10: Obtaining Descriptions of API Concepts and Objects

  • Conceptual Explanations: Use /explain or ask for high-level summaries structured with Big Picture, Analogy, Interconnectedness, and Simple Language.
  • Structural Inspection: Use inspect_object.py to view raw field definitions, types, and Enum values.

Topic 11: Creating a Listing Filter for a Performance Max (PMax) Campaign

  • Webpage Listing Filter: Configure webpage exclusion listing trees (vertical = WEBPAGE) using create_pmax_webpage_filter.py.
All versions