Skip to content

Marketing as Code

Marketing as Code means marketing-platform configuration is declared in version-controlled YAML, reviewed before mutation, and applied through provider APIs rather than clicked together in each vendor console.

Agoraform follows a Terraform-inspired loop:

New resources:
validate -> plan -> apply -> plan
Existing resources:
import -> add/review generated config -> plan
Managed resources:
destroy
  • Validate checks the manifest, provider configuration, dependencies, connectivity, and resource schemas.
  • Plan reads remote state and prints deterministic actions. It never mutates.
  • Apply executes the reviewed creates and updates, then any configured provider finalization (such as Matomo Tag Manager publication).
  • A second plan confirms convergence for newly created resources.
  • Import is an alternate adoption path for existing remote objects. It binds identity in local state and prints configurable YAML without recreating the remote object.
  • Destroy tears down managed resources that remain in both the manifest and local state, after explicit confirmation.

This approach keeps credentials out of YAML, keeps provider-native IDs out of the manifest, and makes changes reviewable in Git.

v0.6.0 is intentionally small. It does not claim to manage every marketing surface. What it does manage is listed per provider.