Skip to content

Resources

A resource is one managed marketing-platform object. You address it logically; Agoraform stores the provider-native ID in local state.

provider.type.name

Examples:

  • matomo.goal.trial_started
  • matomo.variable.user_id
  • googleads.conversion_action.trial_started
TypeIntroducedRole
matomo.goalv0.1.0Matomo analytics goal
matomo.variablev0.2.0Tag Manager Data Layer variable
matomo.triggerv0.2.0Tag Manager Custom Event trigger
matomo.tagv0.2.0Matomo Analytics event tag
googleads.conversion_actionv0.3.0Website conversion action
googleads.customer_conversion_goalv0.3.0Account-default website conversion-goal biddability

Other resource types are not implemented in this release. Unsupported remote objects fail import with guidance instead of producing a lossy manifest.

When one resource must exist before another, use $ref. Agoraform plans and applies prerequisites first.

Provider-native IDs stay in agoraform.state.json. Do not put Matomo idGoal / idvariable values or Google Ads resource names in YAML.

Once local state binds a Matomo goal, name is immutable. Managed Matomo Tag Manager type fields are similarly immutable after import or create. Renaming a bound resource is not a supported way to retarget a different remote object; plan reads the exact bound identity.

See Matomo and Google Ads for attribute schemas.