sqr-upload

Automate uploading approved negative keywords to Google Ads shared lists.

58|9|Updated Apr 7, 2026
One-click install
npx skills add https://github.com/fourteenwm/ppc-ai-skills --skill sqr-upload
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sqr-upload
Source: https://github.com/fourteenwm/ppc-ai-skills/tree/main/sqr-upload
Command: npx skills add https://github.com/fourteenwm/ppc-ai-skills --skill sqr-upload

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires google-ads, google-auth, google-api-python-client, PyYAML, and includes scripts (resource) components.

What problem does it solve?

Uploading approved negative keywords from a Google Sheet Uploader tab to Google Ads shared keyword lists is tedious and error-prone when done manually across multiple accounts.

Core Features & Use Cases

  • Reads pending rows from the Uploader tab, groups by account, and previews changes
  • Enforces a two-step mutation flow: dry-run preface and execution only with a deterministic approval code
  • Applies each query as a PHRASE match negative to the specified shared set and stamps the sheet on success

Quick Start

Run a dry-run to preview pending negatives and obtain an approval code, then execute with that code to upload to Google Ads.

Frequently Asked Questions about sqr-upload

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I batch upload negative keywords to Google Ads shared sets from Google Sheets?

Batch uploading negative keywords to Google Ads shared sets from Google Sheets requires Google Sheets and Google Ads credentials, plus Python dependencies like google-ads, google-auth, google-api-python-client, and PyYAML to authorize API access and manage shared keyword lists.

How does a dry-run approval workflow work for Google Ads negative keyword uploads?

The dry-run approval workflow enforces two-step mutation safety by first previewing pending negative keyword changes and issuing a deterministic approval code, then executing the Google Ads upload only when that code is provided and stamping the sheet on success.

Can I update negative keywords across multiple Google Ads accounts from a single Google Sheet?

Updating negative keywords across multiple Google Ads accounts from a single Google Sheet is supported by grouping pending rows by account during the dry-run preview and applying each query as a PHRASE match negative to the specified shared set.

Do I need Python dependencies to upload negatives to Google Ads shared keyword lists?

Uploading negatives to Google Ads shared keyword lists requires Python dependencies including google-ads, google-auth, google-api-python-client, and PyYAML, along with valid Google Sheets and Google Ads credentials to authorize the API requests.