Agent skill

Pp Google Ads

by mvanhorn in mvanhorn/printing-press-library

Google Ads API for account discovery, GAQL reporting, campaigns, budgets, assets, conversions, audiences, planning, and billing operations.

Apache-2.0Auto-check: notesMarketing & SEO

Install Pp Google Ads

skills CLI
$ npx skills add mvanhorn/printing-press-library --skill pp-google-ads -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install mvanhorn/printing-press-library pp-google-ads --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/mvanhorn/printing-press-library.git skills-src && mkdir -p .claude/skills && cp -r skills-src/cli-skills/pp-google-ads .claude/skills/pp-google-ads && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
pp-google-ads
GitHub stars
2.1k
Token cost
~9.9k tokens
SKILL.md length
3,764 words
Files
1
Skills in repo
506
Repo updated
First seen
Licence
Apache-2.0

At a glance

Google Ads API for account discovery, GAQL reporting, campaigns, budgets, assets, conversions, audiences, planning, and billing operations.

  • Works in 3 steps: Install via the Printing Press… → Verify: google-ads-pp-cli --version → Ensure the reported install directory is…
  • Phrases: pull a Google Ads report
  • SKILL.md covers Prerequisites: Install the CLI, Command Reference, Auth Setup and Agent Mode, plus 8 more sections
  • Calls go, claude and npx; needs GOOGLE_ADS_CLIENT_SECRET and GOOGLE_ADS_DEVELOPER_TOKEN

What it does

Pp Google Ads is an agent skill from mvanhorn/printing-press-library. Google Ads API for account discovery, GAQL reporting, campaigns, budgets, assets, conversions, audiences, planning, and billing operations. Trigger phrases: pull a Google Ads report, GAQL query, check campaign performance, use google-ads.

Its SKILL.md is about 9.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Marketing & SEO, covering Paid advertising. It works with Google Ads. The repository describes itself as: Official library of CLIs generated by the CLI Printing Press. Endorsed, tested, and community-contributed. The licence is Apache-2.0.

When your agent uses it

  • Phrases: pull a Google Ads report
  • Check campaign performance

Example prompts

  • “/pp-google-ads”

Requirements

  • Node.js
  • Pre-approved tools (allowed-tools): Read, Bash

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Install via the Printing Press installer. It defaults binaries to $HOME/.local/bin on macOS/Linux and…
  2. Verify: google-ads-pp-cli --version
  3. Ensure the reported install directory is on $PATH for the agent/runtime that will invoke this skill.

What it can do on your machine

Read from SKILL.md and the folder at commit 76de244. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Bash

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • go
    • claude
    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • GOOGLE_ADS_CLIENT_SECRET
    • GOOGLE_ADS_DEVELOPER_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Pp Google Ads loads about 9.9k tokens when it runs. Until then it costs about 65 tokens; SKILL.md has 3,764 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~65
When it runs · the whole SKILL.md, loaded when a task matches
~9.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Bash

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from mvanhorn/printing-press-library at commit 76de244, republished under its Apache-2.0 licence (© mvanhorn). 3,764 words, ~9,881 tokens.

Download SKILL.mdSave it as .claude/skills/pp-google-ads/SKILL.md (or your agent's skills folder).
name
pp-google-ads
description
Google Ads API for account discovery, GAQL reporting, campaigns, budgets, assets, conversions, audiences, planning, and billing operations. Trigger phrases: `pull a Google Ads report`, `GAQL query`, `check campaign performance`, `use google-ads`.
allowed-tools
Read, Bash
license
Apache-2.0
argument-hint
<command> [args] | install cli|mcp
<!-- GENERATED FILE — DO NOT EDIT.
     This file is a verbatim mirror of library/marketing/google-ads/SKILL.md,
     regenerated post-merge by tools/generate-skills/. Hand-edits here are
     silently overwritten on the next regen. Edit the library/ source instead.
     See the repository agent guide, section "Generated artifacts: registry.json, cli-skills/". -->

Google Ads — Printing Press CLI

Prerequisites: Install the CLI

This skill drives the google-ads-pp-cli binary. You must verify the CLI is installed before invoking any command from this skill. If it is missing, install it first:

  1. Install via the Printing Press installer. It defaults binaries to $HOME/.local/bin on macOS/Linux and %LOCALAPPDATA%\Programs\PrintingPress\bin on Windows:
    bash
    npx -y @mvanhorn/printing-press-library install google-ads --cli-only
  2. Verify: google-ads-pp-cli --version
  3. Ensure the reported install directory is on $PATH for the agent/runtime that will invoke this skill.

If the npx install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.6 or newer):

bash
go install github.com/mvanhorn/printing-press-library/library/marketing/google-ads/cmd/google-ads-pp-cli@latest

If --version reports "command not found" after install, the runtime cannot see the binary directory on $PATH. Do not proceed with skill commands until verification succeeds.

Command Reference

audience_insights — Google Ads audience insights operations

  • google-ads-pp-cli audience-insights — Lists date ranges for which audience insights data can be requested.

customers — Google Ads customers operations

  • google-ads-pp-cli customers create-customer-client — Creates a new client under manager. The new client customer is returned.
  • google-ads-pp-cli customers generate-ad-group-themes — Returns a list of suggested AdGroups and suggested modifications (text, match type) for the given keywords.
  • google-ads-pp-cli customers generate-audience-composition-insights — Returns a collection of attributes that are represented in an audience of interest, with metrics that compare each...
  • google-ads-pp-cli customers generate-audience-overlap-insights — Returns a collection of audience attributes along with estimates of the overlap between their potential YouTube...
  • google-ads-pp-cli customers generate-creator-insights — Returns insights for a collection of YouTube Creators and Channels.
  • google-ads-pp-cli customers generate-insights-finder-report — Creates a saved report that can be viewed in the Insights Finder tool.
  • google-ads-pp-cli customers generate-keyword-forecast-metrics — Returns metrics (such as impressions, clicks, total cost) of a keyword forecast for the given campaign.
  • google-ads-pp-cli customers generate-keyword-historical-metrics — Returns a list of keyword historical metrics.
  • google-ads-pp-cli customers generate-keyword-ideas — Returns a list of keyword ideas.
  • google-ads-pp-cli customers generate-reach-forecast — Generates a reach forecast for a given targeting / product mix.
  • google-ads-pp-cli customers generate-shareable-previews — Returns the requested Shareable Preview.
  • google-ads-pp-cli customers generate-suggested-targeting-insights — Returns a collection of targeting insights (e.g. targetable audiences) that are relevant to the requested audience.
  • google-ads-pp-cli customers generate-targeting-suggestion-metrics — Returns potential reach metrics for targetable audiences. This method helps answer questions like 'How many Men aged...
  • google-ads-pp-cli customers generate-trending-insights — Returns insights for trending content on YouTube.
  • google-ads-pp-cli customers get-identity-verification — Returns Identity Verification information.
  • google-ads-pp-cli customers list-accessible-customers — Returns resource names of customers directly accessible by the user authenticating the call.
  • google-ads-pp-cli customers mutate — Updates a customer. Operation statuses are returned.
  • google-ads-pp-cli customers remove-campaign-automatically-created-asset — Removes automatically created assets from a campaign.
  • google-ads-pp-cli customers search-audience-insights-attributes — Searches for audience attributes that can be used to generate insights.
  • google-ads-pp-cli customers start-identity-verification — Starts Identity Verification for a given verification program type. Statuses are returned.
  • google-ads-pp-cli customers suggest-brands — Rpc to return a list of matching brands based on a prefix for this customer.
  • google-ads-pp-cli customers suggest-keyword-themes — Suggests keyword themes to advertise on.
  • google-ads-pp-cli customers suggest-smart-campaign-ad — Suggests a Smart campaign ad compatible with the Ad family of resources, based on data points such as targeting and...
  • google-ads-pp-cli customers suggest-smart-campaign-budget-options — Returns BudgetOption suggestions.
  • google-ads-pp-cli customers suggest-travel-assets — Returns Travel Asset suggestions. Asset suggestions are returned on a best-effort basis. There are no guarantees...
  • google-ads-pp-cli customers upload-call-conversions — Processes the given call conversions.
  • google-ads-pp-cli customers upload-click-conversions — Processes the given click conversions.
  • google-ads-pp-cli customers upload-conversion-adjustments — Processes the given conversion adjustments.
  • google-ads-pp-cli customers upload-user-data — Uploads the given user data.

customers_account_budget_proposals — Google Ads customers account budget proposals operations

  • google-ads-pp-cli customers-account-budget-proposals <customerId> — Creates, updates, or removes account budget proposals. Operation statuses are returned.

customers_account_links — Google Ads customers account links operations

  • google-ads-pp-cli customers-account-links create — Creates an account link.
  • google-ads-pp-cli customers-account-links mutate — Creates or removes an account link. From V5, create is not supported through AccountLinkService.MutateAccountLink....

customers_ad_group_ad_labels — Google Ads customers ad group ad labels operations

  • google-ads-pp-cli customers-ad-group-ad-labels <customerId> — Creates and removes ad group ad labels. Operation statuses are returned.

customers_ad_group_ads — Google Ads customers ad group ads operations

  • google-ads-pp-cli customers-ad-group-ads mutate — Creates, updates, or removes ads. Operation statuses are returned.
  • google-ads-pp-cli customers-ad-group-ads remove-automatically-created-assets — Remove automatically created assets from an ad.

customers_ad_group_asset_sets — Google Ads customers ad group asset sets operations

  • google-ads-pp-cli customers-ad-group-asset-sets <customerId> — Creates, or removes ad group asset sets. Operation statuses are returned.

customers_ad_group_assets — Google Ads customers ad group assets operations

  • google-ads-pp-cli customers-ad-group-assets <customerId> — Creates, updates, or removes ad group assets. Operation statuses are returned.

customers_ad_group_bid_modifiers — Google Ads customers ad group bid modifiers operations

  • google-ads-pp-cli customers-ad-group-bid-modifiers <customerId> — Creates, updates, or removes ad group bid modifiers. Operation statuses are returned.

customers_ad_group_criteria — Google Ads customers ad group criteria operations

  • google-ads-pp-cli customers-ad-group-criteria <customerId> — Creates, updates, or removes criteria. Operation statuses are returned.

customers_ad_group_criterion_customizers — Google Ads customers ad group criterion customizers operations

  • google-ads-pp-cli customers-ad-group-criterion-customizers <customerId> — Creates, updates or removes ad group criterion customizers. Operation statuses are returned.

customers_ad_group_criterion_labels — Google Ads customers ad group criterion labels operations

  • google-ads-pp-cli customers-ad-group-criterion-labels <customerId> — Creates and removes ad group criterion labels. Operation statuses are returned.

customers_ad_group_customizers — Google Ads customers ad group customizers operations

  • google-ads-pp-cli customers-ad-group-customizers <customerId> — Creates, updates or removes ad group customizers. Operation statuses are returned.

customers_ad_group_labels — Google Ads customers ad group labels operations

  • google-ads-pp-cli customers-ad-group-labels <customerId> — Creates and removes ad group labels. Operation statuses are returned.

customers_ad_groups — Google Ads customers ad groups operations

  • google-ads-pp-cli customers-ad-groups <customerId> — Creates, updates, or removes ad groups. Operation statuses are returned.

customers_ad_parameters — Google Ads customers ad parameters operations

  • google-ads-pp-cli customers-ad-parameters <customerId> — Creates, updates, or removes ad parameters. Operation statuses are returned.

customers_ads — Google Ads customers ads operations

  • google-ads-pp-cli customers-ads <customerId> — Updates ads. Operation statuses are returned. Updating ads is not supported for TextAd, ExpandedDynamicSearchAd,...

customers_asset_generations — Google Ads customers asset generations operations

  • google-ads-pp-cli customers-asset-generations generate-images — Uses generative AI to generate images that can be used as assets in a campaign.
  • google-ads-pp-cli customers-asset-generations generate-text — Uses generative AI to generate text that can be used as assets in a campaign.

customers_asset_group_assets — Google Ads customers asset group assets operations

  • google-ads-pp-cli customers-asset-group-assets <customerId> — Creates, updates or removes asset group assets. Operation statuses are returned.

customers_asset_group_listing_group_filters — Google Ads customers asset group listing group filters operations

  • google-ads-pp-cli customers-asset-group-listing-group-filters <customerId> — Creates, updates or removes asset group listing group filters. Operation statuses are returned.

customers_asset_group_signals — Google Ads customers asset group signals operations

  • google-ads-pp-cli customers-asset-group-signals <customerId> — Creates or removes asset group signals. Operation statuses are returned.

customers_asset_groups — Google Ads customers asset groups operations

  • google-ads-pp-cli customers-asset-groups <customerId> — Creates, updates or removes asset groups. Operation statuses are returned.

customers_asset_set_assets — Google Ads customers asset set assets operations

  • google-ads-pp-cli customers-asset-set-assets <customerId> — Creates, updates or removes asset set assets. Operation statuses are returned.

customers_asset_sets — Google Ads customers asset sets operations

  • google-ads-pp-cli customers-asset-sets <customerId> — Creates, updates or removes asset sets. Operation statuses are returned.

customers_assets — Google Ads customers assets operations

  • google-ads-pp-cli customers-assets <customerId> — Creates assets. Operation statuses are returned.

customers_audiences — Google Ads customers audiences operations

  • google-ads-pp-cli customers-audiences <customerId> — Creates audiences. Operation statuses are returned.

customers_batch_jobs — Google Ads customers batch jobs operations

  • google-ads-pp-cli customers-batch-jobs add-operations — Add operations to the batch job.
  • google-ads-pp-cli customers-batch-jobs list-results — Returns the results of the batch job. The job must be done. Supports standard list paging.
  • google-ads-pp-cli customers-batch-jobs mutate — Mutates a batch job.
  • google-ads-pp-cli customers-batch-jobs run — Runs the batch job. The Operation.metadata field type is BatchJobMetadata. When finished, the long running operation...

customers_bidding_data_exclusions — Google Ads customers bidding data exclusions operations

  • google-ads-pp-cli customers-bidding-data-exclusions <customerId> — Creates, updates, or removes data exclusions. Operation statuses are returned.

customers_bidding_seasonality_adjustments — Google Ads customers bidding seasonality adjustments operations

  • google-ads-pp-cli customers-bidding-seasonality-adjustments <customerId> — Creates, updates, or removes seasonality adjustments. Operation statuses are returned.

customers_bidding_strategies — Google Ads customers bidding strategies operations

  • google-ads-pp-cli customers-bidding-strategies <customerId> — Creates, updates, or removes bidding strategies. Operation statuses are returned.

customers_billing_setups — Google Ads customers billing setups operations

  • google-ads-pp-cli customers-billing-setups <customerId> — Creates a billing setup, or cancels an existing billing setup.

customers_campaign_asset_sets — Google Ads customers campaign asset sets operations

  • google-ads-pp-cli customers-campaign-asset-sets <customerId> — Creates, updates or removes campaign asset sets. Operation statuses are returned.

customers_campaign_assets — Google Ads customers campaign assets operations

  • google-ads-pp-cli customers-campaign-assets <customerId> — Creates, updates, or removes campaign assets. Operation statuses are returned.

customers_campaign_bid_modifiers — Google Ads customers campaign bid modifiers operations

  • google-ads-pp-cli customers-campaign-bid-modifiers <customerId> — Creates, updates, or removes campaign bid modifiers. Operation statuses are returned.

customers_campaign_budgets — Google Ads customers campaign budgets operations

  • google-ads-pp-cli customers-campaign-budgets <customerId> — Creates, updates, or removes campaign budgets. Operation statuses are returned.

customers_campaign_conversion_goals — Google Ads customers campaign conversion goals operations

  • google-ads-pp-cli customers-campaign-conversion-goals <customerId> — Creates, updates or removes campaign conversion goals. Operation statuses are returned.

customers_campaign_criteria — Google Ads customers campaign criteria operations

  • google-ads-pp-cli customers-campaign-criteria <customerId> — Creates, updates, or removes criteria. Operation statuses are returned.

customers_campaign_customizers — Google Ads customers campaign customizers operations

  • google-ads-pp-cli customers-campaign-customizers <customerId> — Creates, updates or removes campaign customizers. Operation statuses are returned.

customers_campaign_drafts — Google Ads customers campaign drafts operations

  • google-ads-pp-cli customers-campaign-drafts list-async-errors — Returns all errors that occurred during CampaignDraft promote. Throws an error if called before campaign draft is...
  • google-ads-pp-cli customers-campaign-drafts mutate — Creates, updates, or removes campaign drafts. Operation statuses are returned.
  • google-ads-pp-cli customers-campaign-drafts promote — Promotes the changes in a draft back to the base campaign. This method returns a Long Running Operation (LRO)...

customers_campaign_goal_configs — Google Ads customers campaign goal configs operations

  • google-ads-pp-cli customers-campaign-goal-configs <customerId> — Create or update campaign goal configs.

customers_campaign_groups — Google Ads customers campaign groups operations

  • google-ads-pp-cli customers-campaign-groups <customerId> — Creates, updates, or removes campaign groups. Operation statuses are returned.

customers_campaign_labels — Google Ads customers campaign labels operations

  • google-ads-pp-cli customers-campaign-labels <customerId> — Creates and removes campaign-label relationships. Operation statuses are returned.

customers_campaign_lifecycle_goal — Google Ads customers campaign lifecycle goal operations

  • google-ads-pp-cli customers-campaign-lifecycle-goal <customerId> — Process the given campaign lifecycle configurations.

customers_campaign_shared_sets — Google Ads customers campaign shared sets operations

  • google-ads-pp-cli customers-campaign-shared-sets <customerId> — Creates or removes campaign shared sets. Operation statuses are returned.

customers_campaigns — Google Ads customers campaigns operations

  • google-ads-pp-cli customers-campaigns enable-pmax-brand-guidelines — Enables Brand Guidelines for Performance Max campaigns.
  • google-ads-pp-cli customers-campaigns mutate — Creates, updates, or removes campaigns. Operation statuses are returned.

customers_conversion_actions — Google Ads customers conversion actions operations

  • google-ads-pp-cli customers-conversion-actions <customerId> — Creates, updates or removes conversion actions. Operation statuses are returned.

customers_conversion_custom_variables — Google Ads customers conversion custom variables operations

  • google-ads-pp-cli customers-conversion-custom-variables <customerId> — Creates or updates conversion custom variables. Operation statuses are returned.

customers_conversion_goal_campaign_configs — Google Ads customers conversion goal campaign configs operations

  • google-ads-pp-cli customers-conversion-goal-campaign-configs <customerId> — Creates, updates or removes conversion goal campaign config. Operation statuses are returned.

customers_conversion_value_rule_sets — Google Ads customers conversion value rule sets operations

  • google-ads-pp-cli customers-conversion-value-rule-sets <customerId> — Creates, updates or removes conversion value rule sets. Operation statuses are returned.

customers_conversion_value_rules — Google Ads customers conversion value rules operations

  • google-ads-pp-cli customers-conversion-value-rules <customerId> — Creates, updates, or removes conversion value rules. Operation statuses are returned.

customers_custom_audiences — Google Ads customers custom audiences operations

  • google-ads-pp-cli customers-custom-audiences <customerId> — Creates or updates custom audiences. Operation statuses are returned.

customers_custom_conversion_goals — Google Ads customers custom conversion goals operations

  • google-ads-pp-cli customers-custom-conversion-goals <customerId> — Creates, updates or removes custom conversion goals. Operation statuses are returned.

customers_custom_interests — Google Ads customers custom interests operations

  • google-ads-pp-cli customers-custom-interests <customerId> — Creates or updates custom interests. Operation statuses are returned.

customers_customer_asset_sets — Google Ads customers customer asset sets operations

  • google-ads-pp-cli customers-customer-asset-sets <customerId> — Creates, or removes customer asset sets. Operation statuses are returned.

customers_customer_assets — Google Ads customers customer assets operations

  • google-ads-pp-cli customers-customer-assets <customerId> — Creates, updates, or removes customer assets. Operation statuses are returned.

customers_customer_client_links — Google Ads customers customer client links operations

  • google-ads-pp-cli customers-customer-client-links <customerId> — Creates or updates a customer client link. Operation statuses are returned.

customers_customer_conversion_goals — Google Ads customers customer conversion goals operations

  • google-ads-pp-cli customers-customer-conversion-goals <customerId> — Creates, updates or removes customer conversion goals. Operation statuses are returned.

customers_customer_customizers — Google Ads customers customer customizers operations

  • google-ads-pp-cli customers-customer-customizers <customerId> — Creates, updates or removes customer customizers. Operation statuses are returned.

customers_customer_labels — Google Ads customers customer labels operations

  • google-ads-pp-cli customers-customer-labels <customerId> — Creates and removes customer-label relationships. Operation statuses are returned.

customers_customer_lifecycle_goal — Google Ads customers customer lifecycle goal operations

  • google-ads-pp-cli customers-customer-lifecycle-goal <customerId> — Process the given customer lifecycle configurations.

customers_customer_manager_links — Google Ads customers customer manager links operations

  • google-ads-pp-cli customers-customer-manager-links move-manager-link — Moves a client customer to a new manager customer. This simplifies the complex request that requires two operations...
  • google-ads-pp-cli customers-customer-manager-links mutate — Updates customer manager links. Operation statuses are returned.

customers_customer_negative_criteria — Google Ads customers customer negative criteria operations

  • google-ads-pp-cli customers-customer-negative-criteria <customerId> — Creates or removes criteria. Operation statuses are returned.

customers_customer_sk_ad_network_conversion_value_schemas — Google Ads customers customer sk ad network conversion value schemas operations

  • google-ads-pp-cli customers-customer-sk-ad-network-conversion-value-schemas <customerId> — Creates or updates the CustomerSkAdNetworkConversionValueSchema.

customers_customer_user_access_invitations — Google Ads customers customer user access invitations operations

  • google-ads-pp-cli customers-customer-user-access-invitations <customerId> — Creates or removes an access invitation.

customers_customer_user_accesses — Google Ads customers customer user accesses operations

  • google-ads-pp-cli customers-customer-user-accesses <customerId> — Updates, removes permission of a user on a given customer. Operation statuses are returned.

customers_customizer_attributes — Google Ads customers customizer attributes operations

  • google-ads-pp-cli customers-customizer-attributes <customerId> — Creates, updates or removes customizer attributes. Operation statuses are returned.

customers_data_links — Google Ads customers data links operations

  • google-ads-pp-cli customers-data-links create — Creates a data link. The requesting Google Ads account name and account ID will be shared with the third party (such...
  • google-ads-pp-cli customers-data-links remove — Remove a data link.
  • google-ads-pp-cli customers-data-links update — Update a data link.

customers_experiment_arms — Google Ads customers experiment arms operations

  • google-ads-pp-cli customers-experiment-arms <customerId> — Creates, updates, or removes experiment arms. Operation statuses are returned.

customers_experiments — Google Ads customers experiments operations

  • google-ads-pp-cli customers-experiments end-experiment — Immediately ends an experiment, changing the experiment's scheduled end date and without waiting for end of day. End...
  • google-ads-pp-cli customers-experiments graduate-experiment — Graduates an experiment to a full campaign.
  • google-ads-pp-cli customers-experiments list-experiment-async-errors — Returns all errors that occurred during the last Experiment update (either scheduling or promotion). Supports...
  • google-ads-pp-cli customers-experiments mutate — Creates, updates, or removes experiments. Operation statuses are returned.
  • google-ads-pp-cli customers-experiments promote-experiment — Promotes the trial campaign thus applying changes in the trial campaign to the base campaign. This method returns a...
  • google-ads-pp-cli customers-experiments schedule-experiment — Schedule an experiment. The in design campaign will be converted into a real campaign (called the experiment...

customers_goals — Google Ads customers goals operations

  • google-ads-pp-cli customers-goals <customerId> — Create or update goals.

customers-google-ads — Google Ads customers google ads operations

  • google-ads-pp-cli customers-google-ads mutate — Creates, updates, or removes resources. This method supports atomic transactions with multiple types of resources....
  • google-ads-pp-cli customers-google-ads search — Returns all rows that match the search query.
  • google-ads-pp-cli customers-google-ads search-stream — Returns all rows that match the search stream query.

customers_invoices — Google Ads customers invoices operations

Show full SKILL.md (1,531 more words)Show less
  • google-ads-pp-cli customers-invoices <customerId> — Returns all invoices associated with a billing setup, for a given month.

customers_keyword_plan_ad_group_keywords — Google Ads customers keyword plan ad group keywords operations

  • google-ads-pp-cli customers-keyword-plan-ad-group-keywords <customerId> — Creates, updates, or removes Keyword Plan ad group keywords. Operation statuses are returned.

customers_keyword_plan_ad_groups — Google Ads customers keyword plan ad groups operations

  • google-ads-pp-cli customers-keyword-plan-ad-groups <customerId> — Creates, updates, or removes Keyword Plan ad groups. Operation statuses are returned.

customers_keyword_plan_campaign_keywords — Google Ads customers keyword plan campaign keywords operations

  • google-ads-pp-cli customers-keyword-plan-campaign-keywords <customerId> — Creates, updates, or removes Keyword Plan campaign keywords. Operation statuses are returned.

customers_keyword_plan_campaigns — Google Ads customers keyword plan campaigns operations

  • google-ads-pp-cli customers-keyword-plan-campaigns <customerId> — Creates, updates, or removes Keyword Plan campaigns. Operation statuses are returned.

customers_keyword_plans — Google Ads customers keyword plans operations

  • google-ads-pp-cli customers-keyword-plans <customerId> — Creates, updates, or removes keyword plans. Operation statuses are returned.

customers_labels — Google Ads customers labels operations

  • google-ads-pp-cli customers-labels <customerId> — Creates, updates, or removes labels. Operation statuses are returned.

customers_local_services — Google Ads customers local services operations

  • google-ads-pp-cli customers-local-services <customerId> — RPC to append Local Services Lead Conversation resources to Local Services Lead resources.

customers_local_services_leads — Google Ads customers local services leads operations

  • google-ads-pp-cli customers-local-services-leads <resourceName> — RPC to provide feedback on Local Services Lead resources.

customers_offline_user_data_jobs — Google Ads customers offline user data jobs operations

  • google-ads-pp-cli customers-offline-user-data-jobs add-operations — Adds operations to the offline user data job.
  • google-ads-pp-cli customers-offline-user-data-jobs create — Creates an offline user data job.
  • google-ads-pp-cli customers-offline-user-data-jobs run — Runs the offline user data job. When finished, the long running operation will contain the processing result or...

customers_operations — Google Ads customers operations operations

  • google-ads-pp-cli customers-operations cancel — Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the...
  • google-ads-pp-cli customers-operations delete — Deletes a long-running operation. This method indicates that the client is no longer interested in the operation...
  • google-ads-pp-cli customers-operations get — Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at...
  • google-ads-pp-cli customers-operations list — Lists operations that match the specified filter in the request. If the server doesn't support this method, it...
  • google-ads-pp-cli customers-operations wait — Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the...

customers_payments_accounts — Google Ads customers payments accounts operations

  • google-ads-pp-cli customers-payments-accounts <customerId> — Returns all payments accounts associated with all managers between the login customer ID and specified serving...

customers_product_link_invitations — Google Ads customers product link invitations operations

  • google-ads-pp-cli customers-product-link-invitations create — Creates a product link invitation.
  • google-ads-pp-cli customers-product-link-invitations remove — Remove a product link invitation.
  • google-ads-pp-cli customers-product-link-invitations update — Update a product link invitation.

customers_product_links — Google Ads customers product links operations

  • google-ads-pp-cli customers-product-links create — Creates a product link.
  • google-ads-pp-cli customers-product-links remove — Removes a product link.

customers_recommendation_subscriptions — Google Ads customers recommendation subscriptions operations

  • google-ads-pp-cli customers-recommendation-subscriptions <customerId> — Mutates given subscription with corresponding apply parameters.

customers_recommendations — Google Ads customers recommendations operations

  • google-ads-pp-cli customers-recommendations apply — Applies given recommendations with corresponding apply parameters.
  • google-ads-pp-cli customers-recommendations dismiss — Dismisses given recommendations.
  • google-ads-pp-cli customers-recommendations generate — Generates Recommendations based off the requested recommendation_types.

customers_remarketing_actions — Google Ads customers remarketing actions operations

  • google-ads-pp-cli customers-remarketing-actions <customerId> — Creates or updates remarketing actions. Operation statuses are returned.

customers_shared_criteria — Google Ads customers shared criteria operations

  • google-ads-pp-cli customers-shared-criteria <customerId> — Creates or removes shared criteria. Operation statuses are returned.

customers_shared_sets — Google Ads customers shared sets operations

  • google-ads-pp-cli customers-shared-sets <customerId> — Creates, updates, or removes shared sets. Operation statuses are returned.

customers_smart_campaign_settings — Google Ads customers smart campaign settings operations

  • google-ads-pp-cli customers-smart-campaign-settings get-smart-campaign-status — Returns the status of the requested Smart campaign.
  • google-ads-pp-cli customers-smart-campaign-settings mutate — Updates Smart campaign settings for campaigns.

customers_third_party_app_analytics_links — Google Ads customers third party app analytics links operations

  • google-ads-pp-cli customers-third-party-app-analytics-links <resourceName> — Regenerate ThirdPartyAppAnalyticsLink.shareable_link_id that should be provided to the third party when setting up...

customers_user_list_customer_types — Google Ads customers user list customer types operations

  • google-ads-pp-cli customers-user-list-customer-types <customerId> — Attach or remove user list customer types. Operation statuses are returned.

customers_user_lists — Google Ads customers user lists operations

  • google-ads-pp-cli customers-user-lists <customerId> — Creates or updates user lists. Operation statuses are returned.

geo_target_constants — Google Ads geo target constants operations

  • google-ads-pp-cli geo-target-constants — Returns GeoTargetConstant suggestions by location name or by resource name.

google_ads — Google Ads google ads operations

  • google-ads-pp-cli google-ads generate-conversion-rates — Returns a collection of conversion rate suggestions for supported plannable products.
  • google-ads-pp-cli google-ads list-plannable-locations — Returns the list of plannable locations (for example, countries).
  • google-ads-pp-cli google-ads list-plannable-products — Returns the list of per-location plannable YouTube ad formats with allowed targeting.
  • google-ads-pp-cli google-ads list-plannable-user-interests — Returns the list of plannable user interests. A plannable user interest is one that can be targeted in a reach...
  • google-ads-pp-cli google-ads list-plannable-user-lists — Returns the list of plannable user lists with their plannable status. User lists may not be plannable for a number...

google_ads_fields — Google Ads google ads fields operations

  • google-ads-pp-cli google-ads-fields get — Returns just the requested field.
  • google-ads-pp-cli google-ads-fields search — Returns all fields that match the search query.

keyword_theme_constants — Google Ads keyword theme constants operations

  • google-ads-pp-cli keyword-theme-constants — Returns KeywordThemeConstant suggestions by keyword themes.
Finding the right command

When you know what you want to do but not which command does it, ask the CLI directly:

bash
google-ads-pp-cli which "<capability in your own words>"

which resolves a natural-language capability query to the best matching command from this CLI's curated feature index. Exit code 0 means at least one match; exit code 2 means no confident match — fall back to --help or use a narrower query.

Auth Setup

Authenticate via the OAuth2 flow. auth login opens a browser, runs the consent flow, and stores a refresh token so access tokens are minted automatically:

bash
google-ads-pp-cli auth login --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRET

--client-id / --client-secret default to $GOOGLE_ADS_CLIENT_ID / $GOOGLE_ADS_CLIENT_SECRET when set. Check or clear the stored grant with google-ads-pp-cli auth status and google-ads-pp-cli auth logout.

Also set GOOGLE_ADS_DEVELOPER_TOKEN; set GOOGLE_ADS_LOGIN_CUSTOMER_ID when calling through a manager account.

Run google-ads-pp-cli doctor to verify setup.

Agent Mode

Add --agent to any command. Expands to: --json --compact --no-input --no-color --yes.

  • Pipeable — JSON on stdout, errors on stderr

  • Filterable — --select keeps a subset of fields. Dotted paths descend into nested structures; arrays traverse element-wise. Critical for keeping context small on verbose APIs:

    bash
    google-ads-pp-cli customers-google-ads search mock-value --agent --select id,name,status
  • Previewable — --dry-run shows the request without sending

  • Offline-friendly — sync/search commands can use the local SQLite store when available

  • Non-interactive — never prompts, every input is a flag

  • Explicit retries — use --idempotent only when an already-existing create should count as success, and --ignore-missing only when a missing delete target should count as success

Response envelope

Commands that read from the local store or the API wrap output in a provenance envelope:

json
{
  "meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
  "results": <data>
}

Parse .results for data and .meta.source to know whether it's live or local. A human-readable N results (live) summary is printed to stderr only when stdout is a terminal — piped/agent consumers get pure JSON on stdout.

Agent Feedback

When you (or the agent) notice something off about this CLI, record it:

google-ads-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
google-ads-pp-cli feedback --stdin < notes.txt
google-ads-pp-cli feedback list --json --limit 10

Entries are stored locally at ~/.google-ads-pp-cli/feedback.jsonl. They are never POSTed unless GOOGLE_ADS_FEEDBACK_ENDPOINT is set AND either --send is passed or GOOGLE_ADS_FEEDBACK_AUTO_SEND=true. Default behavior is local-only.

Write what surprised you, not a bug report. Short, specific, one line: that is the part that compounds.

Output Delivery

Every command accepts --deliver <sink>. The output goes to the named sink in addition to (or instead of) stdout, so agents can route command results without hand-piping. Three sinks are supported:

SinkEffect
stdoutDefault; write to stdout only
file:<path>Atomically write output to <path> (tmp + rename)
webhook:<url>POST the output body to the URL (application/json or application/x-ndjson when --compact)

Unknown schemes are refused with a structured error naming the supported set. Webhook failures return non-zero and log the URL + HTTP status on stderr.

Named Profiles

A profile is a saved set of flag values, reused across invocations. Use it when a scheduled agent calls the same command every run with the same configuration - HeyGen's "Beacon" pattern.

google-ads-pp-cli profile save briefing --json
google-ads-pp-cli --profile briefing customers-google-ads search mock-value
google-ads-pp-cli profile list --json
google-ads-pp-cli profile show briefing
google-ads-pp-cli profile delete briefing --yes

Explicit flags always win over profile values; profile values win over defaults. agent-context lists all available profiles under available_profiles so introspecting agents discover them at runtime.

Async Jobs

For endpoints that submit long-running work, the generator detects the submit-then-poll pattern (a job_id/task_id/operation_id field in the response plus a sibling status endpoint) and wires up three extra flags on the submitting command:

FlagPurpose
--waitBlock until the job reaches a terminal status instead of returning the job ID immediately
--wait-timeoutMaximum wait duration (default 10m, 0 means no timeout)
--wait-intervalInitial poll interval (default 2s; grows with exponential backoff up to 30s)

Use async submission without --wait when you want to fire-and-forget; use --wait when you want one command to return the finished artifact.

Exit Codes

CodeMeaning
0Success
2Usage error (wrong arguments)
3Resource not found
4Authentication required
5API error (upstream issue)
7Rate limited (wait and retry)
10Config error

Argument Parsing

Parse $ARGUMENTS:

  1. Empty, help, or --help → show google-ads-pp-cli --help output
  2. Starts with install → ends with mcp → MCP installation; otherwise → see Prerequisites above
  3. Anything else → Direct Use (execute as CLI command with --agent)

MCP Server Installation

  1. Install the MCP server:
    bash
    go install github.com/mvanhorn/printing-press-library/library/marketing/google-ads/cmd/google-ads-pp-mcp@latest
  2. Register with Claude Code:
    bash
    claude mcp add google-ads-pp-mcp -- google-ads-pp-mcp
  3. Verify: claude mcp list

Direct Use

  1. Check if installed: which google-ads-pp-cli If not found, offer to install (see Prerequisites at the top of this skill).
  2. Match the user query to the best command from the Unique Capabilities and Command Reference above.
  3. Execute with the --agent flag:
    bash
    google-ads-pp-cli <command> [subcommand] [args] --agent
  4. If ambiguous, drill into subcommand help: google-ads-pp-cli <command> --help.

© mvanhorn, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in cli-skills/pp-google-ads of mvanhorn/printing-press-library.

Open the folder on GitHubat commit 76de244

Compare with similar skills

Pp Google Ads next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Pp Google Ads compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Pp Google Ads this skillmvanhorn/printing-press-library2.1k—~9.9kAutomated safety check: NotesApache-2.0
Blog GoogleAgriciDaniel/claude-blog2.3k1 repos~3.3kAutomated safety check: NotesMIT
AdsCesarjoquin/Marketing-Skills2011 repos~3.5kAutomated safety check: PassMIT
Adscoreyhaines31/marketingskills54k1 repos~7kAutomated safety check: PassMIT
Google Adssuperdesigndev/treg4.9k—~1.9kAutomated safety check: PassCustom licence
Money Adsiamzifei/show-me-the-money1k—~2.4kAutomated safety check: PassCustom licence

Similar skills

  • Blog Google

    AgriciDaniel/claude-blog

    Google API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity…

    2.3k GitHub starsUsed in 1 repo~3.3k tokens
    Marketing & SEOAuto-check: notes
  • Ads

    Cesarjoquin/Marketing-Skills

    When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms.

    201 GitHub starsUsed in 1 repo~3.5k tokens
    Marketing & SEOAuto-check passed
  • Ads

    coreyhaines31/marketingskills

    When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms.

    54k GitHub starsUsed in 1 repo~7k tokens
    Marketing & SEOAuto-check passed
  • Google Ads

    superdesigndev/treg

    Traps when running Google Ads through treg — the API requirements and cleanup semantics that cost round-trips or money.

    4.9k GitHub stars~1.9k tokensUpdated today
    Marketing & SEOAuto-check passed
  • Money Ads

    iamzifei/show-me-the-money

    Paid advertising automation for Google Ads, Meta Ads, and other ad platforms.

    1k GitHub stars~2.4k tokensUpdated 1 mo ago
    Marketing & SEOAuto-check passed
  • Paid Ads

    freekmurze/dotfiles

    When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms.

    1k GitHub starsUsed in 14 repos~2.4k tokens
    Marketing & SEOAuto-check passed

More from mvanhorn/printing-press-library

All 506 skills in this repo
  • Agent Desktop

    mvanhorn/printing-press-library

    Desktop automation through the real Rust agent-desktop CLI, published in Printing Press through a small bridge.

    2.1k GitHub stars~2.3k tokensUpdated today
    Auto-check: notes
  • Gfonts

    mvanhorn/printing-press-library

    Search, browse, and download Google Fonts from the terminal via the gfonts CLI.

    2.1k GitHub stars~574 tokensUpdated today
    Auto-check passed
  • Pp 1688

    mvanhorn/printing-press-library

    The free, offline Trigger phrases: search 1688 for, find a factory on 1688 for, wholesale price on 1688 for, who is the cheapest supplier on 1688 for, compare 1688 suppliers for, use 1688, run 1688.

    2.1k GitHub stars~3k tokensUpdated today
    Auto-check: notes
  • Pp Activity Japan

    mvanhorn/printing-press-library

    Inspect known Activity Japan plan IDs or URLs, compare dated prices and sessions, check language-sitemap coverage, and hand off to canonical booking pages.

    2.1k GitHub stars~2k tokensUpdated today
    Auto-check: notes
  • Pp Adminbyrequest

    mvanhorn/printing-press-library

    Every Admin By Request portal action, plus a local SQLite mirror of audit, events, inventory and requests for ad-hoc...

    2.1k GitHub stars~3.3k tokensUpdated today
    Auto-check: notes
  • Pp Agent Capture

    mvanhorn/printing-press-library

    macOS screen capture, window recording, GIF conversion, and agent evidence bundles from the terminal.

    2.1k GitHub stars~1.6k tokensUpdated today
    Auto-check: notes

Works with

Categories

Questions about Pp Google Ads

What does Pp Google Ads do?

Google Ads API for account discovery, GAQL reporting, campaigns, budgets, assets, conversions, audiences, planning, and billing operations. Pp Google Ads is an agent skill from mvanhorn/printing-press-library. Google Ads API for account discovery, GAQL reporting, campaigns, budgets, assets, conversions, audiences, planning, and billing operations.

When should I use Pp Google Ads?

Pp Google Ads fits situations like: phrases: pull a Google Ads report; check campaign performance.

How do I install Pp Google Ads in Claude Code?

Run `npx skills add mvanhorn/printing-press-library --skill pp-google-ads -a claude-code`. Or copy the skill folder (cli-skills/pp-google-ads in mvanhorn/printing-press-library) into .claude/skills/pp-google-ads in your project. Claude Code loads it when a task matches its description.

How do I install Pp Google Ads in Codex?

Run `npx skills add mvanhorn/printing-press-library --skill pp-google-ads -a codex`. Or copy the skill folder (cli-skills/pp-google-ads in mvanhorn/printing-press-library) into .agents/skills/pp-google-ads in your project. Codex loads it when a task matches its description.

Can I use Pp Google Ads in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mvanhorn/printing-press-library --skill pp-google-ads -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pp-google-ads, .gemini/skills/pp-google-ads, .github/skills/pp-google-ads and .opencode/skills/pp-google-ads in your project.

What does Pp Google Ads need to run?

Going by SKILL.md and its folder, Pp Google Ads needs the command-line tools its instructions call (go, claude and npx) and credentials named GOOGLE_ADS_CLIENT_SECRET and GOOGLE_ADS_DEVELOPER_TOKEN. Our summary lists: Node.js. Its frontmatter pre-approves these tools: Read, Bash.

Does Pp Google Ads access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Pp Google Ads safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Pp Google Ads use?

Pp Google Ads is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Pp Google Ads use?

About 9.9k tokens (SKILL.md is roughly 40k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Pp Google Ads?

Skills that share tags, products or a category with Pp Google Ads: Blog Google (AgriciDaniel/claude-blog, 2.3k stars), Ads (Cesarjoquin/Marketing-Skills, 201 stars), Ads (coreyhaines31/marketingskills, 54k stars) and Google Ads (superdesigndev/treg, 4.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Pp Google Ads?

mvanhorn (a GitHub user) maintains it in mvanhorn/printing-press-library, which has 2,056 GitHub stars. The repository holds 506 skills in this directory. The repository was last updated on October 9, 2026.

Source: mvanhorn/printing-press-library on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.