Skip to content
This content is for v0.2.1. Switch to the latest version for up-to-date documentation.

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 documentation describes Agoraform v0.2.1.

The provider-neutral workflow is:

validate -> plan -> apply -> plan

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

v0.2 expands the Matomo provider from analytics goals into a dependency-aware Tag Manager workflow:

apiVersion: agoraform.io/v1alpha1
providers:
matomo:
publish: true
environment: live
resources:
- address: matomo.variable.user_id
attributes:
type: dataLayer
key: userId
name: Trial user ID
- address: matomo.trigger.trial_started
attributes:
type: customEvent
event: trialStarted
name: Trial started
- address: matomo.tag.trial_started
attributes:
type: matomoAnalytics
name: Track trial started
trigger:
$ref: matomo.trigger.trial_started
eventCategory: trial
eventAction: started
eventName:
$ref: matomo.variable.user_id

Matomo

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

Google Ads and Meta Ads are not implemented in v0.2.1.

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