---
title: "OpenCart Analytics Without Cookies — Sealmetrics"
description: "Cookieless OpenCart analytics: an extension for 4.x, and 3.x with modifications, that tracks product views, cart, checkout and purchases per store."
summary: "Sealmetrics for OpenCart is an extension, built primarily for OpenCart 4.x and usable on 3.x with modifications, that adds cookieless analytics to a store. It tracks product views, add-to-cart clicks, checkout page views and purchases, each with its own switch in the extension settings, and labels every page with a…"
canonical_url: "https://sealmetrics.com/platforms/opencart/"
lang: "en"
author: "Rafa Jiménez"
author_url: "https://sealmetrics.com/authors/rafa-jimenez/"
date_modified: 2026-09-15
content_type: "implementation"
owner: "engineering"
llm_priority: "critical"
last_verified: "2026-09-15"
source: https://sealmetrics.com/platforms/opencart/
publisher: Sealmetrics
---

Platform · OpenCart

# OpenCart records the order. GA4 misses *the channel behind it.*

A consent-gated analytics tag does not see the shoppers who reject the banner, so the channel behind their orders disappears from your reports. The Sealmetrics extension for OpenCart 4.x tracks the funnel from product view to purchase, store by store, without setting a cookie or collecting personal data.

OpenCart 4.x · 3.x with modifications · PHP 7.4+ · no cookies · EU-hosted in Dublin

By [Rafa Jiménez](https://sealmetrics.com/authors/rafa-jimenez.md) · Published 15 September 2026

What the extension sends Aggregate events

01 · **view_item** · **Product, SKU, price, category, brand**

02 · **add_to_cart** · **Add-to-cart clicks**

03 · **begin_checkout** · **Checkout page views**

04 · **purchase** · **Revenue, payment method, coupon, items**

No personal data · no order ID stored outside OpenCart · one setup per store

Quick answer

Sealmetrics for OpenCart is an extension, built primarily for OpenCart 4.x and usable on 3.x with modifications, that adds cookieless analytics to a store. It tracks product views, add-to-cart clicks, checkout page views and purchases, each with its own switch in the extension settings, and labels every page with a content group taken from the OpenCart route, without setting a cookie or collecting personal data. On OpenCart 4.x you upload the OCMOD package in the Extension Installer, install Sealmetrics Analytics under Analytics and enter your Account ID. The purchase is sent from the order confirmation page with its revenue, currency, payment method, coupon and items, including the options chosen for each product. In a multi-store installation each store is configured and tracked on its own. Order IDs are not stored outside OpenCart, so reconciliation is on totals and channels, and a purchase whose shopper never reaches the confirmation page is not recorded.

What it captures

## The whole funnel. *Grouped by route.*

Enabled with an Account ID, the extension sends the standard eCommerce funnel and labels every page by its OpenCart route, with each funnel event switchable in the settings.

| Event | When it fires | What it carries | Note |
| --- | --- | --- | --- |
| pageview | Every page | The page, its channel and its content group | home, product, catalog, brand, search, cart, checkout, thankyou, account, contact |
| view_item | Product page view | Product ID, name, SKU, price, category, brand | Track Product Views |
| add_to_cart | Add-to-cart button click | The product added | Track Add to Cart; needs the standard OpenCart cart methods |
| begin_checkout | Checkout page view | The checkout step | Track Checkout |
| purchase | Order confirmation page | Revenue, currency, payment method, coupon, items with their options | Track Purchases; the conversion that carries revenue |
| Contact form | Contact form submission | A lead conversion | Optional: Contact Forms as Leads |

Product, cart and checkout steps are [events](https://sealmetrics.com/glossary/event-tracking.md) in a funnel; the purchase is the conversion that carries revenue. How conversions are modelled across platforms is covered in [conversion tracking without cookies](https://sealmetrics.com/use-cases/conversion-tracking.md).

What a consent-gated setup loses

## The order is recorded. *Its channel is not.*

OpenCart knows every order. A cookie-based tag only knows the ones placed by visitors who accepted the banner and were not blocked.

01

### Rejected visitors take their channel with them

On the one store we have measured side by side — a Shopify shop — GA4 did not record 29% of visits. The mechanism does not depend on the platform: a tag that waits for consent never sees the visitor who says no. The argument in full is on [complete data](https://sealmetrics.com/complete-data.md).

02

### The loss is uneven by channel

On that store, Sealmetrics recorded 11% more direct traffic than GA4 but 37–52% more from paid campaigns, so a consent-based channel report tilts toward traffic you already had.

03

### Multi-store reporting multiplies the gap

Each store in an OpenCart installation has its own audience and banner behaviour. A consent-gated tag loses a different share in each one, which makes comparing stores on channel performance unreliable.

Install on OpenCart

## Upload the extension. *Install it under Analytics.*

The steps below are for OpenCart 4.x, the primary target; OpenCart 3.x has its own route, given in the second step. The last step makes the comparison with OpenCart's own orders fair; the reasoning is the same as in [one number for marketing and finance](https://sealmetrics.com/use-cases/single-source-of-truth.md).

1. Download the extension

   In the Sealmetrics dashboard, open Settings → Integrations and download the OpenCart extension package, sealmetrics.ocmod.zip. It needs PHP 7.4 or later.

2. Upload it

   On OpenCart 4.x, go to Extensions → Installer and upload sealmetrics.ocmod.zip. On OpenCart 3.x, upload the contents of the upload folder to your OpenCart root instead, then go to Extensions → Modifications and click Refresh.

3. Install and configure it

   Go to Extensions → Extensions → Analytics (Extensions → Analytics on 3.x), install Sealmetrics Analytics and open its settings (Edit, on 4.x). Enter your Account ID, choose which of product views, add to cart, checkout and purchases to track, optionally set a custom pixel domain and contact forms as leads, then enable the extension and save.

4. Test the funnel and a purchase

   Open a product, add it to the cart and go to checkout, and check the events arrive. Place a test order and confirm the purchase appears once the order confirmation page loads. If nothing arrives, check the extension is enabled with the right Account ID and clear the OpenCart cache under System → Maintenance.

5. Compare with OpenCart's orders, store by store

   Order IDs are not stored outside OpenCart, so compare totals rather than rows: the same period, timezone and currency, for each store separately, since each store is configured and tracked on its own.

What stays, what changes

## Nothing is ripped out. *The decision moves.*

Each tool keeps the job it does well. Sealmetrics takes the one a consent-gated tag cannot do: telling you which channels produced the orders.

### OpenCart admin

Stays: the order and catalogue view.

Orders, products, customers and coupons stay in OpenCart, and Sealmetrics is checked against its order totals.

[One number for marketing and finance](https://sealmetrics.com/use-cases/single-source-of-truth.md)

### GA4

Can stay, for Google Ads.

Many teams keep it as the Google Ads conduit while budget decisions move to the measured base.

[GA4 migration plan](https://sealmetrics.com/use-cases/ga4-migration.md)

### Meta and Google pixels

Stay for bidding, behind consent.

Sealmetrics does not send conversions to ad platforms, so the platforms keep their own consent-gated setup.

[Campaign revenue attribution](https://sealmetrics.com/use-cases/revenue-attribution.md)

### Sealmetrics

Becomes the channel view.

Revenue by channel, campaign and creative on every recorded session, per store, checked against OpenCart's orders.

[Complete data](https://sealmetrics.com/complete-data.md)

The method, measured

No OpenCart customer case is published yet, and this page does not pretend otherwise. The reconciliation method above is the one Incapto used on Shopify, where both tools were checked against real orders before anything was compared.

**96%**

of real orders recorded in Incapto's 48-day parallel run, on Shopify

Incapto · Shopify [Open](https://sealmetrics.com/case-studies/incapto.md)

**29%**

of real visits that GA4 did not record on the same store

Incapto · Shopify [Open](https://sealmetrics.com/case-studies/incapto.md)

**4**

funnel events the OpenCart extension sends, each with its own switch in the settings

Extension documentation [Open](https://sealmetrics.com/platforms/opencart/#method)

What it does not do

## Know the edges *before you compare.*

Most of these follow from how OpenCart confirms an order in the browser. For stores where a webhook confirms purchases server-side, see [Sealmetrics for Shopify](https://sealmetrics.com/platforms/shopify.md).

### — The purchase needs the confirmation page

Purchases are sent when the order confirmation page loads. If a payment method never returns the shopper there, that purchase is not recorded.

### — OpenCart 4.x is the primary target

OpenCart 3.x is supported with modifications and a different install route. Test the funnel and a purchase on a 3.x store before relying on the numbers.

### — Ad blockers, without a custom pixel domain

The default pixel address can appear on blocklists. Setting a custom pixel domain keeps the requests on your own domain.

### — Reconciliation is on totals

Order IDs are not stored outside OpenCart, so you compare totals and channels, never row by row. Protection against a reloaded confirmation page counting twice is not documented for OpenCart, so check for it when you compare.

### — Custom carts need checking

Add-to-cart tracking relies on the standard OpenCart cart methods. A theme or extension that replaces them may not send the event.

### — Last click per session

No multi-touch model and no view-through; a returning visit through another channel takes the credit.

Common OpenCart questions

## Before you install *the extension.*

### How do I install Sealmetrics on OpenCart 4?

Download sealmetrics.ocmod.zip from the Sealmetrics dashboard under Settings → Integrations and upload it in Extensions → Installer. Then go to Extensions → Extensions → Analytics, install Sealmetrics Analytics, click Edit, enter your Account ID, enable the extension and save.

### Does the extension work on OpenCart 3?

OpenCart 4.x has primary support; OpenCart 3.x is supported with modifications. On 3.x you upload the contents of the upload folder to your OpenCart root, refresh Extensions → Modifications, install Sealmetrics Analytics under Extensions → Analytics, and enter your Account ID. It needs PHP 7.4 or later.

### Can I choose which events are tracked?

Yes. The settings have separate switches for product views, add to cart, checkout and purchases, plus an option to track contact form submissions as lead conversions. Page views are tracked automatically, each with a content group taken from the OpenCart route.

### Does it support OpenCart multi-store?

Yes. In a multi-store installation you configure Sealmetrics separately for each store, with different Account IDs if you need them, and each store is tracked independently.

### What does the purchase event include?

The order value, currency, payment method and coupon, and for each item the product ID, name, SKU, price, quantity, category and brand, with the product options chosen, such as size or colour, sent as properties.

### Why is an OpenCart purchase missing in Sealmetrics?

Check that Track Purchases is enabled, that the order confirmation page loads correctly after payment, because that is where the purchase is sent, and that there are no JavaScript errors in the browser console.

### Why is add to cart not tracked?

Check that Track Add to Cart is enabled and that your store's cart uses the standard OpenCart methods. A theme or extension that replaces the cart may not trigger the event.

### Will I need to change my consent banner?

Not necessarily for the analytics: the extension sets no cookie and collects no personal data. Ad pixels, chat tools or A/B testing that do store data still need consent, and whether your store is exempt for analytics depends on its configuration and your national authority's criteria.

OpenCart walkthrough

## Install on your store. *See the channels behind the orders.*

Book 30 minutes: we walk through the extension setup on your OpenCart version, how to test the funnel and a purchase, and how to compare Sealmetrics with your orders store by store.
