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:destroyagoraform 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_TOKENandMETA_AD_ACCOUNT_IDconfiguration, read-only validation ofads_managementand ad-account access, and a reusable Graph/Marketing API client pinned to v26.0. meta.pixelto bind an existing Pixel/Dataset event source through import or unique-name adopt. Agoraform does not create or delete Pixels.meta.custom_conversionfor website Custom Conversions against a managed pixel, with declaredcustomConversionIdoutput.meta.campaignfor current ODAX objectives, special-ad-category declarations, optional campaign-level budgets in account-currency units, and explicit ad-set budget sharing.meta.ad_setwith typed targeting, website conversion optimization, and ad-set-owned or campaign-delegated budgets.meta.ad_creativefor deterministic website/link creatives that reference externally prepared Page, Instagram, image, or video identifiers.meta.adto 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/.
Changed
Section titled “Changed”- Meta money attributes use account-currency units instead of API minimum
denomination.
dailyBudgetMinorUnitsandlifetimeBudgetMinorUnitsare nowdailyBudgetandlifetimeBudget. Both budget resource types are v0.6.0 additions; no released manifest syntax changed.
Safety and provider behavior
Section titled “Safety and provider behavior”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.
Breaking changes and upgrade
Section titled “Breaking changes and upgrade”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.
Limitations
Section titled “Limitations”- 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_creativeaccepts only externally preparedimageHashorvideoIdvalues; local file upload is not implemented.- Meta
RESERVEDbuying 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.