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.container.main
  • matomo.goal.trial_started
  • googleads.conversion_action.trial_started
  • googleads.campaign.search_acquisition
  • meta.pixel.website
  • meta.ad.instagram_trial
TypeIntroducedRole
matomo.goalv0.1.0Matomo analytics goal
matomo.variablev0.2.0Tag Manager Data Layer or Matomo Configuration variable
matomo.triggerv0.2.0Tag Manager Custom Event trigger
matomo.tagv0.2.0Matomo Analytics event tag or Google Ads conversion tag
matomo.containerv0.5.0Tag Manager container
googleads.conversion_actionv0.3.0Website conversion action
googleads.customer_conversion_goalv0.3.0Account-default website conversion-goal biddability
googleads.campaign_budgetv0.4.0Daily Search campaign budget
googleads.campaignv0.4.0Search campaign and network/bidding settings
googleads.campaign_conversion_goalv0.4.0Campaign-level website goal biddability
googleads.campaign_locationv0.4.0Included or excluded campaign location
googleads.campaign_languagev0.4.0Campaign language targeting
googleads.ad_groupv0.4.0Search standard ad group
googleads.keywordv0.4.0Positive or negative ad-group keyword
googleads.responsive_search_adv0.4.0Responsive Search Ad
meta.pixelv0.6.0Pixel/Dataset event source binding
meta.custom_conversionv0.6.0Website Custom Conversion
meta.campaignv0.6.0Meta campaign
meta.ad_setv0.6.0Meta ad set
meta.ad_creativev0.6.0External-media ad creative
meta.adv0.6.0Serving ad

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

New Google Ads campaigns, ad groups, positive keywords, and Responsive Search Ads default to PAUSED. New Meta campaigns, ad sets, and ads also default to PAUSED. Negative keywords default to ENABLED because Google Ads does not support pausing negative ad-group criteria.

v0.6.0 allows at most one managed matomo.container per manifest.

When one resource must exist before another, use $ref. Agoraform plans and applies prerequisites first. An optional output selector consumes one declared non-sensitive named output, including from another provider:

conversionId:
$ref: googleads.conversion_action.trial_started
output: conversionId

Provider-native IDs stay in agoraform.state.json. Do not put Matomo, Google Ads, or Meta remote IDs in YAML unless they are external literals required by a resource type (for example Meta pageId or imageHash on an ad creative).

Once local state binds a resource, many identity fields are immutable. Renaming a bound resource is not a supported way to retarget a different remote object; plan reads the exact bound identity.

See Matomo, Google Ads, and Meta for attribute schemas.