Connecting Concrete CMS to Amazon Ads
Concrete CMS is a self-hosted PHP CMS used by small organisations and agencies, typically with commerce added through an add-on rather than built in. Amazon Ads spans two entirely different situations, and most guidance discusses them as though they were one. The join between them succeeds or fails on one thing: whether a click identifier only for off-Amazon destinations reaches the Concrete CMS order before the conversion happens, because Amazon Ads can only match a conversion it can tie back to a click it recognizes.
Free30 minutesNo obligation
Specific to this pair
Concrete CMS and Amazon Ads: only the DSP-to-your-site case counts
Amazon Attribution measures traffic sent to Amazon listings, so it says nothing about a Concrete CMS order. Only Amazon DSP pointing at your product pages connects: capture its click parameter on every request, not in a cached block template, then copy it onto the order in the commerce add-on's order-created listener. Monthly reconciliation usually suffices.
A Concrete CMS store sells on its own domain, so Amazon Attribution, which is built to measure traffic you send to Amazon listings, has nothing to say about a Concrete order. The only Amazon route that ends in a Concrete CMS order is Amazon DSP (or another Amazon placement) pointing at your own product pages. Establish that first. If your Amazon spend sends people to an Amazon listing, the Concrete order table never sees those buyers and there is nothing to wire.
If DSP does drive to your site, the click parameter lands on a Concrete page that may be served from the full page cache, so read it in a capture step that runs on every request, not in a block template that only executes on a cache miss. Store it against the session and copy it onto the order in the commerce add-on's order-created listener, the same place you would write any other order attribute. Confirm in your Amazon account which parameter your DSP setup actually appends before writing that listener.
Value comes from the add-on's order total. For a small Concrete store, DSP volume is usually low enough that per-order upload is mostly a reporting exercise; a sane minimal setup is the parameter stored on the order and a monthly reconciliation against what Amazon reports.
Concrete CMS → Amazon Ads · what breaks
Why this join usually fails — Concrete CMS → Amazon Ads
- 01
A click identifier only for off-Amazon destinations never reaches Concrete CMS
Full page caching and the add-on ecosystem both interfere. Because commerce is an add-on rather than core, where the order is created differs by which add-on is installed.
- 02
Commerce as an add-on, not a core feature
Which add-on is installed determines the entire integration surface, so nothing transfers between two Concrete sites without checking first.
- 03
Per-order attribution promised on Amazon-completed sales
It does not exist and cannot be built. Amazon owns the checkout and does not release the join. Any proposal offering per-order attribution on sales completing inside Amazon is describing something unavailable.
- 04
Nothing reconciles afterwards
For off-Amazon conversions, reconcile normally against your own records. For on-Amazon sales, Amazon Attribution is aggregated and delayed by construction — it cannot be reconciled per order and is not meant to be.
Concrete CMS → Amazon Ads · the fix
What working looks like — Concrete CMS → Amazon Ads
A click identifier only for off-Amazon destinations on every order
Conversions arriving in Amazon Ads
Off-Amazon conversions appear against the campaign. On-Amazon sales appear in Amazon's aggregated attribution reporting, delayed.
Reconciled against the source
Concrete CMS → Amazon Ads · architecture
How Concrete CMS and Amazon Ads actually connect
- 1
Concrete CMS holds the truth
Self-hosted means you own and can query the data directly, which makes reconciliation straightforward once the identifier is present.
- 2
Amazon Ads needs a click to match
For off-Amazon destinations, an event with a value and the click identifier. For on-Amazon conversions, nothing — the measurement is not yours to do and Amazon Attribution provides aggregated reporting instead.
- 3
The identifier is the bridge
A click identifier only for off-Amazon destinations, captured at the visit and carried into the Concrete CMS order.
- 4
The event source decides reliability
Fire server-side. Page caching means the confirmation template may not execute.
- 5
Deduplication at the destination
Only relevant for off-Amazon conversions where both a tag and a server event exist. For on-Amazon purchases the question does not arise, because you are not measuring the conversion at all.
Concrete CMS → Amazon Ads · normal or broken
Working vs. broken, side by side — Concrete CMS → Amazon Ads
Normal, not a fault
A click identifier only for off-Amazon destinations present on the order
Sent from the order-completed event from your commerce add-on
Deduplicated correctly
Only relevant for off-Amazon conversions where both a tag and a server event exist. For on-Amazon purchases the question does not arise, because you are not measuring the conversion at all.
Reconciles with the source
Actually broken
A click identifier only for off-Amazon destinations missing on most records
Full page caching and the add-on ecosystem both interfere. Because commerce is an add-on rather than core, where the order is created differs by which add-on is installed.
Sent from the browser
Which add-on is installed determines the entire integration surface, so nothing transfers between two Concrete sites without checking first.
Counted twice, or not at all
It does not exist and cannot be built. Amazon owns the checkout and does not release the join. Any proposal offering per-order attribution on sales completing inside Amazon is describing something unavailable.
Nobody has reconciled it
Concrete CMS → Amazon Ads · diagnose
Diagnostic order — Concrete CMS → Amazon Ads
- 01
Count orders carrying a click identifier only for off-Amazon destinations
- 02
Follow one real conversion end to end
- 03
Identify which commerce add-on is in use
That decides where the order is created and what events exist to hook.
- 04
Establish which Amazon product and which destination you are running
On-Amazon and off-Amazon are different measurement problems, and conflating them wastes the entire engagement.
- 05
Read the match rate, not the success message
For off-Amazon conversions, reconcile normally against your own records. For on-Amazon sales, Amazon Attribution is aggregated and delayed by construction — it cannot be reconciled per order and is not meant to be.
Concrete CMS → Amazon Ads · prove
How it gets proven — Concrete CMS → Amazon Ads
Source of truth
Your own database's order records, at agreed states.
- A click identifier only for off-Amazon destinations confirmed present on a live order.
- The ad product and destination confirmed in writing before any build, so the right measurement question is being answered.
- Order attribute confirmed populated on a purchase through a cached page.
Concrete CMS → Amazon Ads · free audit
What we check in the free audit
- Count orders carrying a click identifier only for off-Amazon destinations
- Follow one real conversion end to end
- Identify which commerce add-on is in use
- Establish which Amazon product and which destination you are running
- Read the match rate, not the success message
Checked against
Your own database's order records, at agreed states.
Free30 minutesNo obligation
Concrete CMS → Amazon Ads · when not to buy
When you don't need this — Concrete CMS → Amazon Ads
- Measure identifier coverage yourself first — pull your last hundred orders and count how many carry a click identifier only for off-Amazon destinations.
- If your Concrete site is brochure-only with enquiries by form, treat it as a lead-gen site rather than a commerce one.
- If all your Amazon spend drives to Amazon listings, there is no conversion tracking build here — only a reporting exercise in Amazon's own tools.
Concrete CMS → Amazon Ads · what we deliver
What gets built — Concrete CMS → Amazon Ads
Identifier capture into Concrete CMS
Capture the identifier and persist it as order attribute data through an event listener, server-side.
Event source: the order-completed event from your commerce add-on
Fire server-side. Page caching means the confirmation template may not execute.
Dispatch to Amazon Ads
Conversion upload for off-Amazon destinations. For on-Amazon sales, Amazon's own attribution reporting is the only view.
Reversals where they exist
Order state changes recorded by the add-on.
Written guarantee
95%+ tracking accuracy
Measured against Your own database's order records, at agreed states.. Miss it and we keep working at no cost.
From $400 · See packages
FAQ
Concrete CMS → Amazon Ads questions, answered
No. Amazon Attribution measures traffic you send to Amazon listings and sales that complete on Amazon. Orders on your Concrete site are only measurable from Amazon placements that link to your own pages, such as DSP.
Check the Concrete marketplace for your version, but don't count on one. The dependable route is a server-side listener on your commerce add-on's order event feeding a server-side dispatch.
Almost always because a click identifier only for off-Amazon destinations never reached the Concrete CMS order. Full page caching and the add-on ecosystem both interfere. Because commerce is an add-on rather than core, where the order is created differs by which add-on is installed. Measure coverage before debugging the dispatch.
This is the distinction that decides everything. Sponsored formats driving to an Amazon listing produce conversions inside Amazon's checkout — no click identifier reaches you and no per-order join is available to anyone. Amazon DSP driving to your own site is an ordinary integration where a click identifier lands on your page and can be captured like any other network's. Establish which you are running before anything else.
The order-completed event from your commerce add-on. Fire server-side. Page caching means the confirmation template may not execute.
For off-Amazon conversions, reconcile normally against your own records. For on-Amazon sales, Amazon Attribution is aggregated and delayed by construction — it cannot be reconciled per order and is not meant to be.
More on Concrete CMS → Amazon Ads
- Craft → Amazon AdsConnecting Craft CMS to Amazon Ads
- Concrete CMS → Google AdsConnecting Concrete CMS to Google Ads
- Concrete CMS → Microsoft AdsConnecting Concrete CMS to Microsoft Ads
RELATED GUIDES
Where Concrete CMS → Amazon Ads fits in the rest of your tracking
- Amazon Ads · Local servicesAmazon Ads conversion tracking for local service businesses
- Amazon Ads · B2BAmazon Ads conversion tracking for B2B companies
- Amazon Ads × Ecommerce OrdersHow to reconcile Amazon Ads against your store's order table
- Amazon Ads · Comparison page → demoHow to track comparison page visit to demo request for Amazon Ads
- AEM → Amazon AdsConnecting Adobe Experience Manager to Amazon Ads
- Concrete CMS → Google AdsConnecting Concrete CMS to Google Ads
- Local servicesConversion tracking for local businesses, where most conversions bypass the website
- Statamic → Amazon AdsConnecting Statamic to Amazon Ads
Free · 30 min
Get Concrete CMS and Amazon Ads joined properly
Free30 minutesNo obligation
