MAHMOUD ABDELNABY
Media Buying · CLI SCRIPT · 2

Google Ads Performance Max Available Search-Term Analyzer

Analyze search-term data available in a Performance Max export, identify review candidates, and support budget decisions. The tool cannot reveal terms withheld by Google or guarantee spend savings.

Problem it addresses

Build an open-source Google Ads PMax auditing toolkit: 1) Production-ready Google Ads JavaScript snippet (pmax_unmasker.js) that runs inside the Google Ads script editor and logs search category queries to a Google Sheet / CSV, 2) Python companion script (analyze_queries.py) that separates brand vs non-brand search terms and calculates incremental ROAS, 3) Automated negative keyword list generator.

Who it is for

PRO operating in high-growth e-commerce, digital publishing, and direct-response marketing across Saudi Arabia, UAE, and Egypt.

What is inside

Key files listed in the README repository architecture:

  • docs/setup-guide.md
  • examples/sample_pmax_export.csv
  • LICENSE
  • README.md
  • scripts/pmax_unmasker.js
  • src/analyze_queries.py
  • templates/negative-keyword-template.csv
  • tests/test_analyzer.py

How to evaluate and use it

  1. Read the README first and confirm that the documented problem matches your use case.
  2. Inspect the listed files to find the data, tools, templates, and tests relevant to your task.
  3. Follow the repository’s Quick Start and check prerequisites before running commands.
  4. Compare outputs with documented examples and review limitations before using them in a decision or client workflow.

Quick Start from the README: python -m unittest discover -s tests · python src/analyze_queries.py --help

Scope and limitations

  • Opaque Query Reporting: Google Ads Performance Max groups minor search terms into 'Other' categories; script parses available Search Term Insights.
  • Brand vs Non-Brand Isolation: Unmasker separates existing brand keywords from generic conquesting search terms to measure real incremental ROAS.
  • Script Runtime Limits: Google Ads Scripts execute within a 30-minute maximum timeout; large accounts require segmented date filtering.

This page summarizes the available documentation; it does not establish performance or business results. Verify data and prerequisites before use.

Related repositories