Practical automation scripts for performance marketing operations: inbox management, platform auditing, reporting workflows, and repeatable campaign-health checks.
This toolkit is built for operators who need faster diagnosis, cleaner execution, and less manual reporting drag.
Fragmented inbox management, manual campaign health checks, and the absence of a repeatable audit layer pushed operator time into triage instead of decisions. This toolkit replaces recurring manual inspection with dry-run automation, structured checks, and repeatable reporting patterns. It accelerates issue detection without removing human review. These are production-used operating workflows, not a demo collection; public examples use mock output and bounded configurations.
flowchart LR
Inputs[Operational inputs] --> DryRun[Dry-run preview]
DryRun --> Review[Human review]
Review --> Apply[Apply approved actions]
Apply --> Report[Structured report]
Report --> Decision[Next decision]
Inputs --> Inbox[Inbox automation]
Inputs --> Audit[Platform audit]
Inputs --> Brief[Executive briefing]
Inbox --> DryRun
Audit --> DryRun
Brief --> Report
These are the active scripts this repo exposes today.
| Script | Command | What it does | Safety posture |
|---|---|---|---|
| Gmail Inbox Accelerator preview | python -m src.inbox.accelerator |
Loads configurable Gmail rules, searches matching messages, and previews label/archive actions | Dry run by default; no Gmail or local state changes are saved |
| Gmail Inbox Accelerator apply | python -m src.inbox.accelerator --apply |
Applies reviewed rules to Gmail labels, archive state, and read state if configured | Write-capable; run only after preview review |
| Inbox status check | python -m src.inbox.accelerator --status |
Prints current state, rule index, labeled count, archived count, errors, runs, and last run | Read-only |
| Inbox state reset | python -m src.inbox.accelerator --reset |
Removes local processing state so the next run starts from rule 0 | Local state only |
| Google Ads Campaign Health Audit | python -m src.audit.campaign_health --days 30 |
Pulls Google Ads campaign data and checks budget pacing, conversion health, impression share, naming, auto-tagging, and status anomalies | Read-only API workflow |
Reporting workflows are represented in the repo as output patterns and operating guidance. They are not positioned here as a separate production reporting application unless backed by an executable script.
Rule-based email processing using the Gmail API. Categorizes, labels, archives, and prioritizes messages in batch.
- Rule engine — configurable pattern matching by sender, subject, and keywords
- Batch processing — labels and archives messages efficiently through API calls
- State persistence — tracks progress across runs and resumes where it left off
- Dry-run mode — previews changes without modifying Gmail or local state
Automated health checks for Google Ads accounts and paid media operations.
- Campaign structure audit — hierarchy validation and naming-convention checks
- Budget pacing — spend vs. target tracking with alert thresholds
- Conversion tracking audit — validates tracking setup and identifies gaps
- Search term analysis — waste identification and negative keyword recommendations
Structured reporting examples show how script output can be translated into operator-ready summaries. These examples are public-safe mock outputs, not live account exports.
- Performance summary patterns — key metrics with period-over-period comparison
- Anomaly framing — deviation flags translated into review questions
- Formatted output — clean summaries for Markdown, console, or downstream reporting
- Python 3.12+
- Google Ads API (
google-ads) - Gmail API (
google-api-python-client) - Local configuration files
- No unnecessary framework layer
Start in dry-run or read-only mode before applying changes.
python -m src.inbox.accelerator
python -m src.inbox.accelerator --status
python -m src.audit.campaign_health --days 30Use python -m src.inbox.accelerator --apply only after reviewing the dry-run output and confirming the rule configuration. Avoid broad catch-all inbox rules, and treat mark_read as an explicit opt-in for narrow, low-risk message classes.
See examples/example-run.md for mock dry-run output covering the real command shapes, state behavior, campaign-health checks, audit findings, and recommended follow-up actions.
See config/README.md for setup instructions.
Do not commit local credentials, tokens, private account IDs, exports, or sensitive campaign data.
This repo is part of a connected public system. See the GitHub Ecosystem Map for how the repos relate.
This repository is the portfolio's executable utility layer: small tools turn operating standards into repeatable checks and outputs. The private-to-public-release-gate is a specialized governance utility for a narrower risk—preventing private context or unreviewed drift from entering a public derivative. It complements this toolkit's automation philosophy without implying that the toolkit itself is generated from private source.
Shared terminology: Common Language.
Usage and rights: see USAGE.md.
growth-architecture-osmarketing-ops-playbooksmarketing-intelligence-agentprivate-to-public-release-gate
- Single-purpose scripts — each file does one thing well
- Batch over loop — minimize API calls and maximize throughput
- Dry-run everything — preview before modifying
- State machines — support resume-safe, idempotent operations
- No magic — keep configuration explicit and code readable
- Operator-first automation — make the next decision easier, not just the next report faster
This repo shows how recurring marketing operations problems can be turned into practical, reusable automation: structured inbox handling, platform-health checks, reporting patterns, and operating discipline around paid media execution.
Part of the Jared Silverman growth portfolio — see also Growth Architecture OS for the operating model context.