← Back to KPIs

Order Conversion Rate (Visit)

ConversionRetail, E-commerce

The percentage of visits or sessions that result in at least one completed order. This KPI measures how effectively site traffic converts into purchases and is a core indicator of ecommerce funnel performance.

Business Use Case

An ecommerce merchandising team monitors this KPI by device and landing page. If mobile visit conversion drops after a site release, the team investigates checkout UX, page speed, and payment errors, then prioritizes fixes to recover lost orders.

Business Criticality

High

Journey / Navigation Area

Digital Analytics

Scope

Session

Formula

(Sessions with at least one order / Total sessions) × 100

Calculation Notes

1️⃣ Count each session once in the numerator, regardless of multiple orders. 2️⃣ Exclude internal traffic, bots, QA environments, and invalid/duplicate purchases. 3️⃣ Use only completed purchase events; exclude begin_checkout and add_payment_info. 4️⃣ Document the impact of consent mode or ad blockers on session counts. 5️⃣ For Adobe, use the visit container and deduplicate by order ID when possible.

Technical Details

Measure TypePercentage
Aggregation WindowSession, User, Hourly, Daily, Monthly, Weekly, Quarterly, Yearly

Events

PlatformEvent
Google Analytics 4purchase
Adobepurchase

Data Mappings

W3 Data Layer
{
  "event": "purchase",
  "event_name": "purchase",
  "session_id": "1234567890",
  "user_id": "anon_98765",
  "timestamp": "2026-05-22T12:34:56Z",
  "ecommerce": {
    "transaction_id": "T12345",
    "currency": "USD",
    "value": 149.99,
    "items": [
      {
        "item_id": "SKU-001",
        "item_name": "Running Shoes",
        "price": 149.99,
        "quantity": 1
      }
    ]
  },
  "kpi_context": {
    "name": "order_conversion_rate_visit",
    "scope": "session",
    "conversion": true
  }
}
GA4 Data Layer
{
  "event": "purchase",
  "ecommerce": {
    "transaction_id": "T12345",
    "currency": "USD",
    "value": 149.99,
    "items": [
      {
        "item_id": "SKU-001",
        "item_name": "Running Shoes",
        "price": 149.99,
        "quantity": 1
      }
    ]
  }
}
Adobe Client Data Layer
{
  "event": "purchase",
  "xdm": {
    "eventType": "commerce.purchases",
    "commerce": {
      "order": {
        "purchaseID": "T12345",
        "priceTotal": 149.99,
        "currencyCode": "USD",
        "purchases": {
          "value": 1
        }
      }
    },
    "web": {
      "webPageDetails": {
        "URL": "https://www.example.com/checkout/confirmation"
      }
    },
    "_experience": {
      "analytics": {
        "customDimensions": {
          "eVars": {
            "eVar1": "1234567890"
          },
          "props": {
            "prop1": "checkout confirmation"
          }
        }
      }
    }
  }
}
XDM Mapping
{
  "eventType": "commerce.purchases",
  "commerce.purchases.value": 1,
  "commerce.order.purchaseID": "T12345",
  "commerce.order.priceTotal": 149.99,
  "commerce.order.currencyCode": "USD",
  "web.webPageDetails.URL": "https://www.example.com/checkout/confirmation",
  "_experience.analytics.customDimensions.eVars.eVar1": "session_id"
}

SQL Queries

Google Analytics 4 (BigQuery)
WITH session_orders AS (SELECT user_pseudo_id, user_id, CONCAT(user_pseudo_id, '-', CAST((SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'ga_session_id') AS STRING)) AS session_key, MAX(CASE WHEN event_name = 'purchase' THEN 1 ELSE 0 END) AS has_order FROM `project.dataset.events_*` WHERE _TABLE_SUFFIX BETWEEN '20260501' AND '20260531' GROUP BY 1, 2, 3) SELECT SAFE_MULTIPLY(SAFE_DIVIDE(SUM(has_order), COUNT(session_key)), 100) AS order_conversion_rate_visit FROM session_orders;
Adobe Experience Platform (AEP Query Service)
WITH session_orders AS (SELECT identityMap.ECID[0].id AS mcid, session_id, MAX(CASE WHEN eventType = 'commerce.purchases' THEN 1 ELSE 0 END) AS has_order FROM dataset.events WHERE timestamp BETWEEN '2026-05-01' AND '2026-05-31' GROUP BY mcid, session_id) SELECT (SUM(has_order)::FLOAT / COUNT(session_id)) * 100 AS order_conversion_rate_visit FROM session_orders;

Source Data

Digital Analytics, Business Intelligence

Dependencies

Prerequisite: List the dependencies required for this KPI

Events:

purchase

Metrics:

transaction_idsession_id

Dimensions:

Date

Report Attributes

Dimensions: Date, Device category, Source/Medium, Campaign, Landing page, Country, New vs Returning, Product category Metrics: Sessions, Orders, Order conversion rate (visit), Revenue, Average order value

Recommended Reporting Views

Views
Executive Ecommerce OverviewConversion FunnelTraffic AnalysisChannel PerformanceDevice PerformanceLanding Page Performance

Segment Eligibility

True

Governance

Data SensitivityInternal

Governance

Created byswapnamagantius
Created on2/13/2026
Last modified bydevyendarm
Last modified on5/30/2026
StatusPUBLISHED

GitHub

View related Pull Requestcatalog/kpis/order-conversion-rate-visit.yml

Community Discussion