Semakin

Sema Track for VirtueMart

Sema Track for VirtueMart Joomla 4, 5, 6

Version 1.0.4 VirtueMart

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

1

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.

2

Purchase process

add_to_cart and begin_checkout events are tracked. GCLID/GBRAID click IDs are captured and stored for attribution.

3

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

EventGA4Google AdsSklikHeurekaZbozi.czGCRConsent
session_startL0+
page_viewL0+
view_itemL1+
add_to_cartL1+
begin_checkoutL1+
add_payment_infoL1+
purchaseL2

Configuration

SettingDescription
GDPR consent pluginSelect which consent plugin to integrate with
GA4 Measurement ID + API SecretMeasurement Protocol credentials
Google Ads Customer ID + Conversion IDAds account and conversion action
Google Ads OAuth credentialsClient ID, Client Secret, Refresh Token for API access
Sklik Conversion ID + Retargeting IDSeznam.cz tracking identifiers
Zbozi.cz Shop ID + Private KeyZbozi.cz server-side credentials
Heureka API Key (CZ / SK)Verified by Customers v2 API key
Heureka OCMEnable/disable Heureka attribution SDK
Google Customer Reviews Merchant IDGCR survey widget configuration
Log retentionDays to keep delivery logs
Retry queueEnable/disable, max attempts, backoff interval
Task SchedulerQueue processing via Joomla cron
One Page Checkout windowDatabase polling interval (default 180 min)

Technical Specifications

ParameterValue
Extension typeJoomla System Plugin
CompatibilityJoomla 4.x / 5.x / 6.x, VirtueMart 4.x / 5.x, PHP 8.1+
Server-side APIsGA4 Measurement Protocol v2, Google Ads Conversion API v23, Heureka v2, Zbozi.cz
Client-side injectionSklik, Heureka OCM, Google Customer Reviews, Zbozi.cz
E-commerce events7 events (session_start through purchase)
DependenciesNone (vanilla JS, cURL)
LocalisationCzech, English
InstallationSingle ZIP via Joomla Extension Installer
UpdatesFully automatic via Joomla Updater
LicenceGPL 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.

59 €
License for 1 domain and 1 year of updates and email support. After the year, the extension continues to work without restrictions.
Log in
Powered by SemaHub

Interested in working together?

Get in touch and let's discuss your project. We'll be happy to help you choose the right solution.