Server-side tracking for Joomla
Joomla is self-hosted PHP, so the money event belongs on whichever extension's order event exists. Identify the extension first; the pattern after that is the standard self-hosted one.
Free30 minutesNo obligation
Joomla server-side · what breaks
What goes wrong on Joomla
- 01
The conversion lives in an extension
Not in Joomla. Which one decides everything.
- 02
Extension overlap
A tracking extension plus a template modification.
- 03
Caching
Joomla's cache can serve stale per-order values.
- 04
Older installs with undocumented modifications
Common on long-lived Joomla sites.
Joomla server-side · the fix
What changes — Joomla server-side
The transaction owner identified
The first and most important step.
Money events from that extension's hook
Server-side.
Extension paths resolved
One sender retained.
Joomla server-side · architecture
What Joomla exposes to a server container
Identify the extension, then apply the standard self-hosted pattern.
- 1
Extension identified first
It determines the event source entirely.
- 2
Purchase from that extension's order event
Server-side, once per order.
- 3
The extension's order ID as the deduplication key
Whatever it issues.
- 4
Customer data from the order
Normalized then hashed.
- 5
Refunds from the extension's state change
Where it exposes one.
Joomla server-side · diagnose
Where Joomla tracking breaks, in diagnostic order
Each check rules out a class of cause, so by the last one there is usually a single explanation standing.
- 01
Identify which extension owns the transaction
The question that decides everything.
- 02
Refresh the confirmation page
Watch for a second event.
- 03
List extensions touching tracking
Then check the template.
- 04
Check whether caching is active on confirmations
A stale page is a real fault.
- 05
Reconcile against the extension's records
For a closed week.
Joomla server-side · prove
The QA evidence — Joomla server-side
Run on Joomla specifically, on a live conversion rather than in preview mode.
Source of truth
your Joomla extension's order or submission records
- The transaction-owning extension identified and documented.
- Order event confirmed firing once per order.
- Confirmation page refreshed with no additional event.
- Counts reconciled against the extension's records for a closed week.
- A refund tested and confirmed reversing where supported.
- Reconciled over a fully closed window, matched per record rather than on totals.
- Re-checked 30 days later, and after any platform update.
Joomla server-side · free audit
What we check in the free audit
- Identify which extension owns the transaction
- Refresh the confirmation page
- List extensions touching tracking
- Check whether caching is active on confirmations
- Reconcile against the extension's records
Checked against
your Joomla extension's order or submission records
Free30 minutesNo obligation
Joomla server-side · when not to buy
When you don't need this on Joomla
Worth reading before you buy anything, from us or anyone.
- If your counts already reconcile against your commerce extension, nothing here needs doing.
- Identifying the transaction owner takes five minutes and changes the whole answer. Do that before anything else.
- This is ordinary PHP work on a platform you host — your developer can do it.
- Older Joomla installs are often more correct than they look. Reconcile before rebuilding.
Joomla server-side · what we deliver
What the server-side build gives you on Joomla
Container on your own subdomain
Your domain, your certificate, hosting in an account you control.
Money events from your Joomla records
Your commerce extension's order event, which fires server-side once per order.
Deduplicated at every destination
On a shared event ID, verified before any existing path is removed.
Consent enforced before dispatch
A denied destination receives nothing, verified by capture rather than configuration.
Written guarantee
95%+ tracking accuracy
Measured against your Joomla extension's order or submission records. Miss it and we keep working at no cost.
Pricing
Pick the package that fits your ad spend
Browser-side starter
$400One-time fee · lifetime ownership
Repairs and verifies the browser-side setup you already have, on a live conversion. Honest about its ceiling on this platform.
- Root cause fixed, not worked around
- Verified on a live conversion
- Reconciled against your own records
- Written handover
1st-party server-side
Recommended$800One-time fee · most popular
Money events sent from your own records through a first-party container on your subdomain, so the browser can no longer lose them.
- First-party server container on your own subdomain
- Money events from your records, not the browser
- Deduplicated on a shared event ID at every destination
- First-party cookies beyond Safari's 7-day cap
- 95%+ accuracy and 8+ Meta EMQ, guaranteed in writing
Full 1st-party stack
$1,800One-time fee · lifetime ownership
Every paid channel server-side plus the offline loop, with monitoring so the next break surfaces in days.
- Everything in 1st-party server-side
- Pinterest, Snapchat, Reddit and LinkedIn CAPI
- CRM and offline conversion loop
- Refunds and cancellations corrected wherever each platform allows it
- Monitoring on every destination
FAQ
Joomla server-side questions, answered
Your commerce extension's order event, not Joomla.
Whatever order identifier the extension issues.
For the caching and refresh problems, the extension hook fixes those. Server-side adds cookie durability and blocker resistance.
Then it's the forms extension's submission hook, and the build is much smaller.
Free · 30 min
Move Joomla events off the browser
Free30 minutesNo obligation
