Skip to main content
Joomla server-sidePlatform solution

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

  1. 01

    The conversion lives in an extension

    Not in Joomla. Which one decides everything.

  2. 02

    Extension overlap

    A tracking extension plus a template modification.

  3. 03

    Caching

    Joomla's cache can serve stale per-order values.

  4. 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. 1

    Extension identified first

    It determines the event source entirely.

  2. 2

    Purchase from that extension's order event

    Server-side, once per order.

  3. 3

    The extension's order ID as the deduplication key

    Whatever it issues.

  4. 4

    Customer data from the order

    Normalized then hashed.

  5. 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.

  1. 01

    Identify which extension owns the transaction

    The question that decides everything.

  2. 02

    Refresh the confirmation page

    Watch for a second event.

  3. 03

    List extensions touching tracking

    Then check the template.

  4. 04

    Check whether caching is active on confirmations

    A stale page is a real fault.

  5. 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

Get my free conversion tracking audit

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.

Get my free conversion tracking audit

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
Fix what I have

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
Rebuild it server-side

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
Get the full stack

FAQ

Joomla server-side questions, answered

Your commerce extension's order event, not Joomla.

Free · 30 min

Move Joomla events off the browser

Free30 minutesNo obligation