> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scanova.io/llms.txt
> Use this file to discover all available pages before exploring further.

# What is Conversion Tracking?

> Measure what users do on your website after scanning a QR Code — page views, clicks, purchases, and custom events — all attributed back to the exact QR Code that drove the visit.

Scanova **Conversion Tracking** connects offline QR Code scans to online user behaviour. Every time someone scans your QR Code, they carry a unique session identifier to your website. The tracking SDK uses that identifier to attribute every subsequent action — a page view, a button click, a completed purchase — back to the original scan.

<Note>
  You may see this feature labeled **Web Tracking** in some parts of the Scanova dashboard. The product name in documentation is **Conversion Tracking**.
</Note>

## What you can measure

<CardGroup cols={2}>
  <Card title="Page Views & Traffic" icon="chart-line">
    See which QR Codes drive the most visits, from which countries, and on which devices.
  </Card>

  <Card title="On-Page Engagement" icon="cursor-click">
    Automatically track clicks, scroll depth, and form submissions without writing any code.
  </Card>

  <Card title="Backend Conversions" icon="badge-check">
    Send purchases, sign-ups, and leads securely from your server, attributed to the QR scan.
  </Card>

  <Card title="Revenue Attribution" icon="circle-dollar">
    Pass conversion value and currency to calculate actual ROI per QR Code.
  </Card>
</CardGroup>

## How QR attribution works

When a user scans your QR Code, Scanova appends a `scnv` parameter to your landing page URL:

```
https://yoursite.com/landing?scnv=7ad26d4f-3181-4ef8-b6ca-b8f59499dd43
```

The Browser SDK reads this parameter on page load, saves it to `localStorage`, and attaches it as `scan_session_id` to every event it sends. This is how a server-side purchase confirmation can be attributed to the QR scan that started the journey — even hours later.

## Two ways to send events

<CardGroup cols={2}>
  <Card title="Browser SDK" icon="code" href="/conversion-tracking/browser/overview">
    A lightweight JavaScript snippet you add to your website. Automatically tracks page views, clicks, scroll depth, and form submissions. No backend required to get started.
  </Card>

  <Card title="Server-Side API" icon="server" href="/conversion-tracking/server/overview">
    Send conversion events directly from your backend using an API key. Use this for purchases, sign-ups, and any event that happens server-side.
  </Card>
</CardGroup>

## Before you start

* An active Scanova account
* A tracking site created in **Integrations → Conversion Tracking**
* A website where you can add a `<script>` tag (or access to Google Tag Manager)
* Backend access if you plan to send server-side events

## Get started

<CardGroup cols={2}>
  <Card title="Quick Start (5 minutes)" icon="rocket" href="/conversion-tracking/setup-guide">
    The fastest path from zero to live tracking.
  </Card>

  <Card title="How It Works" icon="lightbulb" href="/conversion-tracking/how-it-works">
    Understand the full scan-to-report data flow.
  </Card>
</CardGroup>
