Skip to content

silvermanjared-web/marketing-ops-toolkit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Marketing Ops Toolkit

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.

Why this exists

Marketing operations teams lose time and budget to predictable failures: campaigns pace incorrectly, conversion tracking goes stale, spend leaks into irrelevant search terms, and reports get assembled manually every week.

These scripts automate detection and diagnosis so operators can focus on decisions.

The goal is not to replace judgment. The goal is to surface issues earlier, reduce manual review, and make recurring workflows more reliable.

Workflow

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
Loading

Executable scripts

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.

Components

Inbox automation (src/inbox/)

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

Platform audit (src/audit/)

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

Reporting patterns (examples/ and downstream output)

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

Stack

  • Python 3.12+
  • Google Ads API (google-ads)
  • Gmail API (google-api-python-client)
  • Local configuration files
  • No unnecessary framework layer

Usage

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 30

Use 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.

Example output

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.

Configuration

See config/README.md for setup instructions.

Do not commit local credentials, tokens, private account IDs, exports, or sensitive campaign data.

Related repos

This repo is part of a connected public system. See the GitHub Ecosystem Map for how the repos relate.

Shared terminology: Common Language.

Usage and rights: see USAGE.md.

Design philosophy

  • 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

What this demonstrates

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.

About

Practical automation scripts for marketing operations, inbox workflows, platform audits, reporting, and paid media campaign-health checks.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages