Marketing as Code - Manage ad campaigns like infrastructure
Project description
growthctl
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.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ff45685a53d14c46a4d0d88e24fe7d9547a63e4262333de86ad490392fedac7
|
|
| MD5 |
45db6f9c9910e8658b085fd56804ceaf
|
|
| BLAKE2b-256 |
90f9f71c79576308a6aa1bdc372bd35ed4c54066282960c1be42e4e9f31f2af9
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bffbf0b5bdf9a51d8bd113b6ed67140ab08b0f7ccd6402145e1aab62cb2605bf
|
|
| MD5 |
479a3e79cd4e1175ee9c3df87eec4830
|
|
| BLAKE2b-256 |
85bdeb88db043b0e69a8aa4e8a4ba4a26ae516479c35de95ed7d0d30043f780c
|