Skip to main content

Marketing as Code - Manage ad campaigns like infrastructure

Project description

growthctl logo

growthctl

standard-readme compliant PyPI version License: MIT Project Status: Active – The project has reached a stable, usable state and is being actively developed.

Marketing as Code CLI for managing ad campaigns declaratively using YAML and Git.

Note: This project is currently in active development. APIs and configuration schemas are subject to change.

Plan and apply campaign changes safely with Terraform-style dry runs. Version control your ad strategy and collaborate using standard Git workflows. Manage Meta (Facebook/Instagram) ads with built-in provider support.

growthctl demo

Table of Contents

Install

Install using uv (recommended):

uv tool install growthctl

Install using pipx:

pipx install growthctl

Or using pip:

pip install growthctl

Usage

Define your campaign in campaign.yaml:

version: "1.0"
campaigns:
  - id: summer-sale
    name: Summer Sale 2026
    objective: OUTCOME_SALES
    status: ACTIVE
    ad_sets:
      - id: us-audience
        name: US Audience
        status: ACTIVE
        budget_daily: 50.00
        targeting:
          locations: ["US"]
          age_min: 25
          age_max: 54

Preview and apply changes:

# Preview changes
growthctl plan campaign.yaml

# Apply to live
growthctl apply campaign.yaml

Contributing

See the contributing file for details.

License

MIT © growthctl contributors

Contact

For questions or feedback, please reach out to growthctl@gmail.com.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

growthctl-0.1.2.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

growthctl-0.1.2-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file growthctl-0.1.2.tar.gz.

File metadata

  • Download URL: growthctl-0.1.2.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for growthctl-0.1.2.tar.gz
Algorithm Hash digest
SHA256 7ff45685a53d14c46a4d0d88e24fe7d9547a63e4262333de86ad490392fedac7
MD5 45db6f9c9910e8658b085fd56804ceaf
BLAKE2b-256 90f9f71c79576308a6aa1bdc372bd35ed4c54066282960c1be42e4e9f31f2af9

See more details on using hashes here.

File details

Details for the file growthctl-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: growthctl-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 6.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for growthctl-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 bffbf0b5bdf9a51d8bd113b6ed67140ab08b0f7ccd6402145e1aab62cb2605bf
MD5 479a3e79cd4e1175ee9c3df87eec4830
BLAKE2b-256 85bdeb88db043b0e69a8aa4e8a4ba4a26ae516479c35de95ed7d0d30043f780c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page