Skip to main content

CLI Reference

Complete reference for all growthctl commands.

Global Options

growthctl --help

Commands

plan

Dry-run: Compare local configuration with remote state.

growthctl plan <file>

Arguments:

  • file - Path to campaign YAML file (required)

Example:

growthctl plan campaign.yaml

Output:

╭─ Running Plan for campaign.yaml ─╮
Checking Campaign: Summer Sale 2025
~ Update AdSet: US Audience
budget: 50.0 -> 75.0
locations: {'US'} -> {'US', 'CA'}

The plan command shows:

  • + Create - New resources to be created
  • ~ Update - Existing resources with changes
  • - Delete - Resources to be archived/deleted

apply

Apply changes to remote ad platform.

growthctl apply <file> [--force]

Arguments:

  • file - Path to campaign YAML file (required)

Options:

  • --force, -f - Skip confirmation prompt

Example:

# With confirmation prompt
growthctl apply campaign.yaml

# Skip confirmation
growthctl apply campaign.yaml --force
warning

The apply command makes live changes to your ad account. Always run plan first to review changes.


import

Import existing campaign from remote and save as YAML.

growthctl import <campaign_keyword> [--output <file>]

Arguments:

  • campaign_keyword - Campaign name or ID to search for (required)

Options:

  • --output - Output file path (default: imported_campaign.yaml)

Example:

# Import by name
growthctl import "Summer Sale" --output summer-sale.yaml

# Import by ID
growthctl import "123456789" --output campaign.yaml

Environment Variables

VariableDescriptionRequired
META_ACCESS_TOKENMeta Marketing API access tokenFor Meta provider

Exit Codes

CodeDescription
0Success
1Error (file not found, validation error, API error)