E-Commerce Conversion Tracking
7 platforms — one setup — no lost purchases
Recover 30–50 % of lost conversion data.
Ad blockers and privacy browsers silently discard 30–50 % of conversion data. JavaScript snippets only work when the browser allows them. Sema Track for VirtueMart combines server-side transmission with automatic script injection to capture every transaction across 7 advertising and review platforms — while staying fully GDPR compliant.
Why You Need a Measurement Plugin
What the plugin solves
- GA4 and Google Ads delivered server-side (bypasses ad blockers)
- Heureka and Zbozi.cz sent from the server
- Sklik, Heureka OCM and Google Customer Reviews injected automatically
- Complete e-commerce funnel (7 events from session to purchase)
- One Page Checkout plugin support via database polling
What you lose without it
- 30–50 % of purchases invisible in GA4
- Google Ads bidding on incomplete ROAS data
- Heureka and Zbozi.cz missing transaction records
- Manual template edits for every tracking script
- No consent-aware measurement
7 Platforms, One Setup
Server-side (direct from server)
- Google Analytics 4 — Measurement Protocol v2, e-commerce events
- Google Ads — Conversion API v23, OAuth2, GCLID/GBRAID/WBRAID
- Heureka Verified by Customers — v2 API, CZ and SK versions
- Zbozi.cz — back-end HTTP POST with PRIVATE_KEY
Automatic JavaScript injection
- Sklik.cz — conversions + retargeting, dynamic consent, EID
- Heureka OCM — SDK loader, attribution cookie
- Google Customer Reviews — survey widget, analytics consent only
- Zbozi.cz front-end — standard conversion pixel
E-Commerce Features
Complete purchase funnel
- 7 e-commerce events — session_start, page_view, view_item, add_to_cart, begin_checkout, add_payment_info, purchase
- VirtueMart integration — automatic detection of cart additions, checkout steps and order completion
- One Page Checkout support — database polling for plugins that bypass standard hooks
- Deduplication — prevents duplicate purchase events on page refresh
Google Ads integration
- Click ID capture — GCLID, GBRAID and WBRAID stored in 90-day cookie + session
- Enhanced conversions — SHA-256 hashed e-mail and phone for better audience matching
- MCC support — works with Manager accounts
- Import from Clicks action type — conversion attribution to ad clicks
Czech & Slovak platforms
- Sklik — conversions + retargeting, dynamic consent modes, EID, identity verification
- Zbozi.cz — server-side + front-end with complete cart contents
- Heureka Verified by Customers — v2 API, CZ and SK, opt-out checkbox support
- Heureka OCM — automatic SDK loading, product page attribution cookie
GDPR & Reliability
GDPR & cookie consent
- Three-layer consent model — L0 anonymous / L1 analytics / L2 marketing
- 4 consent plugins supported — StoreJExtensions, Sema Cookie Consent, CookieYes, custom bridge
- Automatic JS bridge — reads consent and applies to both client-side and server-side tracking
- IP anonymisation — /24 for IPv4, /48 for IPv6
- PII protection — SHA-256 hashing, plaintext never leaves the client
Reliability
- Asynchronous cURL delivery — does not block page rendering
- Database queue with retry — exponential backoff for failed transmissions
- Joomla Task Scheduler — optional queue processing via cron
- Bot filtering — Googlebot and crawlers excluded automatically
- Cross-request session persistence — tracks the full visitor journey
How It Works
Browsing
The visitor browses the shop. page_view is sent to GA4 server-side. Sklik rc.js is injected automatically. Heureka OCM sets an attribution cookie.
Purchase process
add_to_cart and begin_checkout events are tracked. GCLID/GBRAID click IDs are captured and stored for attribution.
Order completion
The purchase event is sent to all 7 platforms — 4 server-side (GA4, Google Ads, Heureka, Zbozi.cz) and 3 via JavaScript injection (Sklik, Heureka OCM, GCR).
Tracked Events
| Event | GA4 | Google Ads | Sklik | Heureka | Zbozi.cz | GCR | Consent |
|---|---|---|---|---|---|---|---|
| session_start | ✓ | L0+ | |||||
| page_view | ✓ | ✓ | ✓ | L0+ | |||
| view_item | ✓ | ✓ | L1+ | ||||
| add_to_cart | ✓ | L1+ | |||||
| begin_checkout | ✓ | L1+ | |||||
| add_payment_info | ✓ | L1+ | |||||
| purchase | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | L2 |
Configuration
| Setting | Description |
|---|---|
| GDPR consent plugin | Select which consent plugin to integrate with |
| GA4 Measurement ID + API Secret | Measurement Protocol credentials |
| Google Ads Customer ID + Conversion ID | Ads account and conversion action |
| Google Ads OAuth credentials | Client ID, Client Secret, Refresh Token for API access |
| Sklik Conversion ID + Retargeting ID | Seznam.cz tracking identifiers |
| Zbozi.cz Shop ID + Private Key | Zbozi.cz server-side credentials |
| Heureka API Key (CZ / SK) | Verified by Customers v2 API key |
| Heureka OCM | Enable/disable Heureka attribution SDK |
| Google Customer Reviews Merchant ID | GCR survey widget configuration |
| Log retention | Days to keep delivery logs |
| Retry queue | Enable/disable, max attempts, backoff interval |
| Task Scheduler | Queue processing via Joomla cron |
| One Page Checkout window | Database polling interval (default 180 min) |
Technical Specifications
| Parameter | Value |
|---|---|
| Extension type | Joomla System Plugin |
| Compatibility | Joomla 4.x / 5.x / 6.x, VirtueMart 4.x / 5.x, PHP 8.1+ |
| Server-side APIs | GA4 Measurement Protocol v2, Google Ads Conversion API v23, Heureka v2, Zbozi.cz |
| Client-side injection | Sklik, Heureka OCM, Google Customer Reviews, Zbozi.cz |
| E-commerce events | 7 events (session_start through purchase) |
| Dependencies | None (vanilla JS, cURL) |
| Localisation | Czech, English |
| Installation | Single ZIP via Joomla Extension Installer |
| Updates | Fully automatic via Joomla Updater |
| Licence | GPL v2+ |
Frequently Asked Questions
Do I need to remove my existing gtag.js snippet?
No. The plugin works alongside existing tracking scripts. Server-side delivery fills in the data that ad blockers prevent from reaching GA4 and Google Ads.
Does it support One Page Checkout plugins?
Yes. When standard VirtueMart hooks are bypassed by a One Page Checkout plugin, Sema Track falls back to database polling to detect completed orders.
How does the three-layer GDPR model work?
L0 (anonymous) tracks page views without PII. L1 (analytics) enables GA4 with session data. L2 (marketing) enables Google Ads enhanced conversions, Sklik, Heureka and full e-commerce tracking. Each level requires the corresponding consent.
Can I use only some platforms?
Yes. Each of the 7 platforms can be enabled or disabled independently. Only fill in the credentials for the platforms you use.
Why doesn’t Sklik use server-side delivery?
Sklik (Seznam.cz) does not offer a server-side conversion API. The plugin uses automatic JavaScript injection instead, which is the most reliable method currently available.
Does Heureka support the opt-out checkbox?
Yes. The plugin can display an opt-out checkbox during checkout. Only customers who do not opt out receive the satisfaction survey e-mail.
What happens if a server-side delivery fails?
The event is stored in a database queue and retried with exponential backoff. You can also process the queue via Joomla’s Task Scheduler (cron) for guaranteed delivery.
What is the Google Ads “Import from Clicks” action type?
It attributes conversions to the original ad click (GCLID/GBRAID) rather than last-click. This provides more accurate ROAS data for your Google Ads campaigns.
How does Zbozi.cz dual-layer measurement work?
Server-side delivery sends the order with product details directly to the Zbozi.cz API. The front-end pixel fires simultaneously for confirmation. This ensures maximum coverage.
Is it compatible with Joomla 4?
Yes. The plugin works on Joomla 4.x, 5.x and 6.x with VirtueMart 4.x and 5.x.
What happens after the one-year licence expires?
The extension continues to work indefinitely without restrictions. You stop receiving updates and e-mail support. Renew any time to resume.
How do I renew my licence?
Purchase a new licence from SemaHub. The Download Key remains the same — updates resume automatically.