Developer documentation

Connect QR scans to meaningful actions.

Qrious conversion tracking shows whether a person who scanned a dynamic QR code later reached a confirmation page on your website.

1QR scanAnonymous click ID
2Site visitConsent granted
3ConversionGoal path reached
01

How it works

A dynamic QR scan first passes through Qrious. When conversion tracking is enabled for that QR, Qrious creates a random click identifier, records the scan and appends qrious_click to the destination URL.

Destination after a scanhttps://example.com/?utm_source=print&qrious_click=550e8400-...

The Qrious script stores that identifier only after analytics consent. If the same browser reaches your configured confirmation path within seven days, the visit is attributed to the QR scan.

No form data is collected. Conversion tracking sends the anonymous click identifier, account identifier and page path. It does not send names, email addresses, order contents or form fields.

02

Before you begin

  • A dynamic URL QR code. Static PNG-only codes cannot carry attribution.
  • A website you control. You must be able to add the Qrious script.
  • A dedicated confirmation page. For example, /thank-you after a form or purchase.
  • A consent mechanism. Qrious storage must follow the visitor's analytics choice.

The QR destination and confirmation page must use the same origin: the same protocol, hostname and port. A QR pointing to https://example.com cannot track a goal on https://checkout.example.com.

03

Install conversion tracking

  1. 1
    Create a goal

    Open Analytics → Conversions, select a dynamic QR and enter the exact confirmation path, such as /thank-you.

  2. 2
    Copy your account script

    Use the personalized snippet shown in Analytics. Add it to every page involved in the journey, preferably before the closing </body> tag.

  3. 3
    Connect consent

    Notify the script when analytics storage is granted, rejected or withdrawn.

  4. 4
    Run Test setup

    Complete the test journey and confirm that Analytics displays Test passed.

HTML
<script defer src="https://www.qrious.now/qrious-conversion.js?account=YOUR_ACCOUNT_ID"></script>

Replace YOUR_ACCOUNT_ID with the account value displayed in your Qrious Analytics page. Do not copy an identifier from another account.

Content Security Policy

If your website uses a Content Security Policy, permit the Qrious origin for both script loading and API requests.

HTTP header
Content-Security-Policy:
  script-src 'self' https://www.qrious.now;
  connect-src 'self' https://www.qrious.now;
05

Test the setup

Configuration test

  1. Open Analytics → Conversions and select Test setup.
  2. Allow analytics storage in the test browser.
  3. Complete the flow until you reach the configured confirmation path.
  4. Refresh Analytics and look for Test passed.

A configuration test checks the pixel and path but does not increment the conversion total.

Real attribution test

  1. Scan or open the QR's Qrious short link, not its destination URL directly.
  2. Grant analytics consent on the destination site.
  3. Reach the confirmation page in the same browser.
  4. Refresh Analytics. One new scan and one conversion should appear.
  5. Reload the confirmation page. The conversion total should not increase again.
06

Attribution rules

Seven-day window

The confirmation page must be reached within seven days of the scan.

Last QR scan

A newer eligible QR scan replaces the identifier stored by an earlier scan.

Deduplicated

The same scan can create at most one conversion for the same goal.

Exact path

Query parameters are ignored, but the pathname, including a trailing slash, must match.

Conversions are not backfilled. Reports begin when the goal is configured. Changing the goal path starts a new reporting period for that configuration.

07

Troubleshooting

StatusMeaningWhat to check
Not testedNo successful setup test has reached the configured confirmation path.Run Test setup, allow storage and finish the test flow.
Pixel seenThe script is sending requests, but the confirmation path has not passed the test.Check the exact path, including trailing slashes.
No conversionA scan was recorded, but it could not be connected to the goal.Check consent, the seven-day window and whether the click parameter survives redirects.
403 Unknown siteThe request origin does not match the QR destination origin.Use the same scheme and hostname configured for the QR.
Script blockedA CSP rule, browser extension or network policy stopped the pixel.Allow Qrious in script-src and connect-src, then test again.

Redirect checklist

If your destination uses redirects, verify that qrious_click is still present when the first page containing the Qrious script loads. Some redirect services remove unknown query parameters.

Single-page applications

The script detects navigation performed with pushState, replaceState and browser history events. Install it once in the application's root layout.

08

Privacy and plan limits

The anonymous click identifier is stored in first-party local storage only after consent and expires after seven days. Rejecting or withdrawing consent clears stored attribution. It does not erase a conversion that was already sent.

Free and Plus accounts can test conversion tracking on one QR for 30 days, with up to 100 reported conversions. Pro accounts receive full conversion tracking without the trial restriction.

Read the Qrious Privacy Policy for details. This documentation describes the product behavior and is not legal advice.

Ready to measure

Configure your first conversion goal.

Choose a dynamic QR, enter the confirmation path and test the complete journey before publishing.

Open Analytics