Skip to content

Agoraform

Marketing as Code

Agoraform is an open-source Go CLI for declaring marketing-platform configuration in YAML, reviewing changes with a non-mutating plan, and reconciling those changes through provider APIs.

This site documents Agoraform v0.3.0, the current stable release. Older stable releases remain available from the version selector.

The provider-neutral workflow is:

validate -> plan -> apply -> plan

import adopts supported existing remote objects without mutating them. Destructive destroy behavior is not implemented in v0.3.0.

v0.3.0 adds Google Ads conversion measurement while retaining Matomo analytics and Tag Manager support from v0.2. This example manages a website Trial Started conversion:

apiVersion: agoraform.io/v1alpha1
providers:
googleads: {}
resources:
- address: googleads.conversion_action.trial_started
attributes:
name: Trial Started
category: SIGNUP
value: 0
count: ONE
primaryForGoal: true
- address: googleads.customer_conversion_goal.signup
attributes:
category: SIGNUP
origin: WEBSITE
biddable: true
conversionAction:
$ref: googleads.conversion_action.trial_started

Credentials stay outside the manifest. After apply, use the conversion ID and label from Google Ads when configuring website tags — Agoraform does not install those tags.

Matomo

Goals plus Tag Manager Data Layer variables, Custom Event triggers, Matomo Analytics event tags, and declarative container publication.

Google Ads

Website conversion actions and customer conversion-goal biddability. Search campaigns, budgets, ads, and conversion-event uploads are not implemented.

Meta Ads is not implemented in v0.3.0.

CommandPurpose
validateValidate the manifest, provider configuration, dependencies, connectivity, and resource schemas
planRead remote state and show resource and provider actions; never mutate
applyExecute reviewed resource changes and configured provider finalization
importBind an existing remote identity and print configurable YAML; no remote mutation