Przejdź do głównej zawartości

Troubleshooting

Ta treść nie jest jeszcze dostępna w Twoim języku.

Start with debug. Add it to init and reload the page:

qm("init", { key: "pk_live_…", debug: true });

The script then logs what it did and ignored to the console (console.debug, under “Verbose” in Chrome). Remove it when done.

  • Is the host allowed? It must be in Allowed domains in Analytics settings. www.example.com and example.com are different hosts.
  • Is tracking on? Check Tracking on in Analytics settings.
  • Is the request blocked? Look for requests to ingest-prod.quomerce.com in the Network tab. Ad blockers can block them.
  • Is there a Content Security Policy? See Content Security Policy.
  • Is the key right? It starts with pk_live_ and must match the website.
  • Is it a test browser? Automated and headless browsers are ignored. Use an ordinary browser window.
  • Is Record replays on?
  • With consent Required, the visitor must allow analytics and replay. See Consent.
  • Sessions under 3 seconds are not recorded.
  • qm.commerce calls never arrive? Pass commerce: "manual" to init; auto mode ignores them. See Commerce: auto or manual.
  • Some manual calls are dropped? A product needs id, name, price and currency, with money in major units. debug: true logs each dropped call.
  • A step is empty in auto mode? Add a rule in Analytics settings → Commerce events. Payment redirects always need one. See Auto mode.
  • Calls before the script loads are lost? Use qm("commerce.cartAdded", …), not qm.commerce.cartAdded(…).

With consent Required, call qm("consent", { analytics: true }) on every page load, not only when the visitor clicks.

Set cookieDomain: ".example.com" in init, and add every subdomain to Allowed domains.

A reload of the confirmation page sends purchase again. Guard it per order id. See Manual mode.