> For the complete documentation index, see [llms.txt](https://docs.shoplift.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.shoplift.ai/analyze/how-shoplift-calculates-conversion-rate.md).

# How Shoplift Calculates Conversion Rate

If you've ever compared your conversion rate (CVR) in Shoplift to your Shopify dashboard, your ad platform, or another analytics tool and noticed the numbers don't match, you're not imagining it. Shoplift calculates conversion rate differently, and deliberately so.

This article explains how Shoplift's CVR works, why it differs from other tools, and what that means for how you read your results.

***

### How Shoplift calculates CVR

Shoplift calculates conversion rate using **unique visitors**, not sessions.

The formula is straightforward:

**CVR = Unique visitors who purchased ÷ Total unique visitors in the test**

A visitor is counted once when they first enter the test, no matter how many times they return to your store. Whether they purchase on their first visit or their tenth, that purchase is attributed to the variant they were assigned when they first entered the test (A or B). The attribution window stays open for the entire duration of the test.

{% hint style="info" %}
Shoplift identifies visitors using browser storage, not personal data. A visitor who browses in incognito mode, or switches devices is counted as a new visitor. [Learn how visitor tracking works](/analyze/tracking/visitor-attribution.md).
{% endhint %}

***

### How this differs from other tools

#### Shopify dashboard

Shopify calculates conversion rate at the **session level**. Every time a visitor arrives on your store, that's a new session.

Here's how the same behavior produces two very different numbers. One person visits your store five times and buys on the fifth visit:

|                   | Shopify (session-based)       | Shoplift (visitor-based) |
| ----------------- | ----------------------------- | ------------------------ |
| What gets counted | 5 sessions (1 unique visitor) | 1 unique visitor         |
| Conversions       | 1                             | 1                        |
| Calculation       | 1 ÷ 5                         | 1 ÷ 1                    |
| **CVR**           | **20%**                       | **100%**                 |

Same person, same purchase. Shopify divides that one conversion across five sessions, while Shoplift counts the person once and attributes the purchase to them directly.

#### Ad platforms (Meta, Google, AppLovin, etc.)

Ad platforms typically measure CVR against **clicks or impressions** from a specific campaign, and attribute conversions within a fixed window (commonly 7 days for clicks, 1 day for views). A purchase outside that window goes unattributed.

Here's how that plays out. A visitor clicks your Meta ad on day 1, comes back twice to browse, and purchases on day 12:

|                    | Ad platform (7-day click window)    | Shoplift (visitor-based)    |
| ------------------ | ----------------------------------- | --------------------------- |
| What gets counted  | 1 ad click                          | 1 unique visitor            |
| Attribution window | 7 days after the click              | The entire test duration    |
| Purchase on day 12 | Not attributed (outside the window) | Attributed to their variant |
| **Result**         | **0 conversions reported**          | **1 conversion reported**   |

Same visitor, same purchase. The ad platform closed its attribution window on day 7, so the sale never shows up in campaign reporting. Shoplift keeps the window open for as long as the test runs, so the purchase is counted and credited to the variant the visitor was assigned on day 1.

#### Other CRO tools

Many A/B testing tools also use session-based CVR, primarily because session data is easy to collect and matches what most analytics platforms report. Visitor-based CVR requires tracking individual visitors across sessions, which is a harder technical problem to solve.

***

### Why Shoplift does it this way

#### A longer time horizon for purchase decisions

Some customers don't buy on their first visit. They browse, compare, think it over, and come back when they're ready. A session-based CVR treats each of those visits as a separate, independent event. It has no memory of the fact that this visitor already saw your variant and is still deciding.

Visitor-based CVR keeps that context intact. The visitor is counted once, and their eventual purchase is attributed to the experience that influenced them, whenever it happens.

#### A more balanced view of attribution

Session-based models give disproportionate credit to last-touch interactions. If a visitor browses three times and buys on the third visit, a session model attributes the conversion entirely to that final session. The first two sessions, where the visitor first encountered your variant and formed their initial impression, get no credit.

Visitor-based attribution distributes that credit differently. The conversion belongs to the variant the visitor was assigned at the start, not just the session in which they happened to convert.

#### Returning visitors become a meaningful signal

In a session-based model, returning visitors inflate your session count without necessarily improving your conversion signal. In Shoplift's model, a returning visitor who converts is exactly as valuable as a new visitor who converts. Both are counted once, and their purchase is what matters.

This makes the returning visitor segment genuinely useful for analysis. If a variant performs significantly better for returning visitors than for new ones, that's a real signal worth acting on, not a statistical artifact of session inflation.

***

### Practical considerations

#### If you run direct-response advertising

If your store drives mostly paid traffic and the majority of your customers buy on their first visit, your Shoplift CVR will look very similar to your session-based CVR. Single-session purchasers look the same in both models: one visitor, one session, one conversion.

#### If you're a higher-AOV brand with longer consideration cycles

If your customers typically browse multiple times before buying, expect your Shoplift CVR to diverge more noticeably from session-based tools. You may also notice your CVR is higher during sale periods. That's not because more unique visitors entered your test, but because the sale prompted previously undecided visitors to finally convert. Those visitors were already in your test, the sale just shortened their consideration cycle.

Conversely, during slow periods your Shoplift CVR may look lower relative to your session-based CVR, because fewer of those already-counted visitors are being nudged to convert.

#### Comparing Shoplift CVR to your other tools

Because the denominators are different (visitors vs. sessions), a direct numeric comparison between Shoplift's CVR and your Shopify dashboard or ad platform CVR will almost always show a gap. That gap isn't a discrepancy. It's a reflection of two different ways of counting the same behavior.

What matters when evaluating a test is not whether Shoplift's CVR matches Shopify's, but whether the difference between your original and variant reaches **statistical significance** (the level of confidence that the difference is real and not random chance). That comparison is apples-to-apples within Shoplift, because both sides use the same visitor-based methodology.

{% hint style="info" %}
If you want to dig deeper into how your test variants performed across sessions and over time, you can export the daily breakdown and orders CSV from the Test Details page. [See Exporting test data for details.](/test/exporting-test-data.md#how-to-export)
{% endhint %}

***

### Still need help?

Contact [Shoplift support](/support/get-help.md) if you have questions about your results.
