Skip to content

v0.6.0 Release Notes

Agoraform 0.6.0 was released on September 11, 2026. It adds the Meta Ads provider (meta) with website conversion measurement and a complete paused website conversion campaign graph: Pixel/Dataset binding, Custom Conversion, campaign, ad set, external-media ad creative, and serving ad.

Matomo and Google Ads behavior from v0.5.0 is unchanged. The supported lifecycle is:

New resources:
validate -> plan -> apply -> plan
Existing resources:
import -> add/review generated config -> plan
Managed resources:
destroy

agoraform destroy is explicit. Removing a resource from the manifest does not destroy or prune it. State remains local.

  • Meta Ads provider foundation with runtime-only META_ACCESS_TOKEN and META_AD_ACCOUNT_ID configuration, read-only validation of ads_management and ad-account access, and a reusable Graph/Marketing API client pinned to v26.0.
  • meta.pixel to bind an existing Pixel/Dataset event source through import or unique-name adopt. Agoraform does not create or delete Pixels.
  • meta.custom_conversion for website Custom Conversions against a managed pixel, with declared customConversionId output.
  • meta.campaign for current ODAX objectives, special-ad-category declarations, optional campaign-level budgets in account-currency units, and explicit ad-set budget sharing.
  • meta.ad_set with typed targeting, website conversion optimization, and ad-set-owned or campaign-delegated budgets.
  • meta.ad_creative for deterministic website/link creatives that reference externally prepared Page, Instagram, image, or video identifiers.
  • meta.ad to bind one managed ad set to one managed creative.
  • Exhaustive Meta lifecycle integration: create, read, update, import, destroy, and idempotent terminal-state handling for every Meta resource type.
  • Money attributes declared in ad account currency units (dailyBudget, lifetimeBudget, bidAmount) with per-currency Meta offset conversion.
  • A complete secret-free Meta website conversion campaign example under examples/meta-website-campaign/.
  • Meta money attributes use account-currency units instead of API minimum denomination. dailyBudgetMinorUnits and lifetimeBudgetMinorUnits are now dailyBudget and lifetimeBudget. Both budget resource types are v0.6.0 additions; no released manifest syntax changed.

New Meta campaigns, ad sets, and ads default to PAUSED. Agoraform does not install browser Pixel code, send Conversions API events, upload media bytes, or enable delivery automatically. Pixels remain provider-owned after destroy.

Destroy removes ads before ad sets and creatives, ad sets before campaigns and custom conversions, and custom conversions before their Pixel/Dataset.

0.6.0 does not remove or rename the v0.5.0 Matomo or Google Ads command/resource surface. Existing v0.1–v0.5 manifests and agoraform.state.json files continue to work. The local state schema is unchanged.

Meta is opt-in by declaring providers.meta: {} and supplying META_ACCESS_TOKEN and META_AD_ACCOUNT_ID.

  • Meta support covers one complete website conversion campaign graph. Agoraform does not manage Page or Instagram account provisioning, media uploads, browser Pixel/fbq, or Conversions API delivery.
  • meta.ad_creative accepts only externally prepared imageHash or videoId values; local file upload is not implemented.
  • Meta RESERVED buying type, dynamic creative, catalog ads, and arbitrary targeting JSON are not supported.
  • Matomo, Google Ads, and cross-provider limitations from v0.5.0 still apply.
  • Remote state, workspaces, locking, and encryption are not implemented.

See the tagged full changelog, Meta website conversion campaign example, and Meta provider reference.