Troubleshooting Manual Installation

If your Kelkoo Sales Tracking installation isn't working correctly, start with the verification steps below, then check the relevant issue.

This page covers the Manual installation for Kelkoo Sales Tracking method.

Verify the correct calls are being made

  1. Log in to your Kelkoo Merchant Center, and use View your Kelkoo store page to reach your website via a Kelkoo Group offer link.

  2. Open your browser's developer console (F12, or right-click the page → Inspect), then open the Network tab.

  3. Reload a few pages of your site and confirm leadtag.js loads successfully (status 200) on each — this confirms the Lead Tag (Step 1) is correctly placed across your site, not just one page.

  4. Complete a test purchase — ideally with a promo/coupon code applied, so you can confirm optional fields too.

  5. On the confirmation page, filter the Network tab for a call to /st on s.kelkoogroup.net (or the fallback pixel /k.gif) — this call is made by ks.js, loaded by the Conversion Tag (Step 2).

  6. Open the call and check its parameters: confirm comId/country match your account, orderId/orderValue are present and correct, and any optional fields you've populated (coupon, returning customer, etc. ) appear as expected.


Common issues

Issue 1: No call to /st at all

  • Confirm the Conversion Tag script (Step 2 of the install guide) is present in the page's rendered HTML on the confirmation page — view the actual page source (not just your template file), in case a caching layer, template engine, or minifier stripped or altered it.

  • Confirm ks.js itself loads successfully in the Network tab (https://s.kk-resources.com/ks.js, status 200). If it fails to load or is blocked, check for an ad-blocker, a Content Security Policy (CSP) restriction, or your CMP incorrectly blocking it — the Conversion Tag must not be gated behind consent, see Configuring Consent Management (CMP) .

  • Check the browser console for JavaScript errors on the confirmation page. A syntax error anywhere in the _kkstrack object (see Issue 3) can silently prevent the entire script block — including the part that loads ks.js — from running.

  • Confirm leadtag.js (Step 1) is present on every page a user might land on from a Kelkoo Group offer, not just the homepage.

  • Confirm your CMP isn't permanently blocking the Lead Tag. Unlike the Conversion Tag, the Lead Tag does require user consent, so it's expected to be blocked until consent is granted — but confirm it fires once consent is accepted, by testing with consent declined and then accepted. See Configuring Consent Management (CMP) .

  • Check that the Lead Tag runs on the same page/session where the kk (Kelkoo click ID) parameter is present in the landing page URL, or shortly after — the cookie is what links a later purchase back to that click.

Issue 3: orderId, orderValue, or basket are empty, undefined, or incorrect

  • Confirm these are populated dynamically from your real order data at page-render time — not left as the literal placeholder strings from the code sample ('ORDER_ID', 'ORDER_VALUE').

  • If your templating or server-side code injects these values into the script block, check for quoting/escaping issues. A product name or value containing an apostrophe, quote, or other special character can break the surrounding JavaScript if not properly escaped — which can silently break the entire script block (see Issue 1), not just that one field.

  • If you're relying on GA4/UA Data Layer auto-detection instead of setting these explicitly (see the install guide's "Good to know" note), confirm your Data Layer's purchase event is pushed to window.dataLayer before the Conversion Tag script runs on the page — if ks.js runs first, there's nothing yet for it to read.

Issue 4: Optional fields (coupon, returning customer, etc.) aren't appearing

  • Confirm the field is present in your _kkstrack object, not commented out or misspelled — parameter names are case-sensitive (returningUser, not returninguser or Returning_User).

  • returningUser must be sent as the literal string 'true' or 'false' — not a boolean literal, not 1/0. An unexpected value type will be silently dropped rather than passed through as-is.

  • Remember that explicit _kkstrack values always take priority over anything auto-detected from a GA4/UA Data Layer. If a field looks wrong despite your Data Layer being correct, check whether it's also being set (even accidentally, e.g. left over from a copy-pasted snippet) directly in _kkstrack — the explicit value wins.

  • coupon should be omitted entirely (not sent as an empty string) when no code was used — check you're not always setting the key with a blank or placeholder value.

Issue 5: Sales are tracked once, but duplicated or tracked multiple times for the same order

  • Confirm there's only one copy of the Conversion Tag script on the confirmation page — check for leftovers from a previous integration, or duplication introduced by a page builder/CMS template.

  • Confirm the confirmation page isn't reloaded or re-rendered client-side in a way that re-runs the script for the same order — for example, a user pressing "back" to a cached version of the page, or a single-page app re-mounting the confirmation component.

Issue 6: Duplicate or conflicting installations

  • Search your entire codebase for leadtag.js and _kkstrack to confirm no older version of Kelkoo Sales Tracking — from a previous manual integration, plugin, or theme — is still present alongside the new one.

  • Running two versions simultaneously can cause duplicate cookies, duplicate /st calls, or conflicting values reported for the same order.

Issue 7: Sales are tracked but under-reported compared to your own analytics

  • This is most often a Consent Management Platform (CMP) misconfiguration — see Configuring Consent Management (CMP) . The Conversion Tag should never be blocked by a missing consent signal; only the Lead Tag should be gated.

  • Confirm the Lead Tag is present on all entry pages (see Issue 2) — a purchase can only be attributed if a tracking cookie was set at some point during that visitor's journey.

Still having issues?

Contact Kelkoo Support via your Merchant Center