QRCode SuiteQR platform
Documentation

QR attribution: Shopify vs WooCommerce

Scan-to-order attribution lives on the platform now, not inside the store. QRCode Suite records the scan and holds the conversion event; WooCommerce and Shopify are connectors that feed it. So the question is no longer which store can do QR attribution — both can — but how much work each one makes the connector do to hand an order back. That difference is real, and it comes down to how each exposes order metadata.

  1. 1

    WooCommerce: post-meta is the carrier

    WC orders are WordPress posts. Any registered meta key on `wp_postmeta` can hold the QR scan id, campaign, and UTM trail. QRCode Suite writes a `_qrcs_scan_id` row at checkout and queries by it for reports. No external API, no rate limits — direct database access.

  2. 2

    Shopify: metafields + app-scope OAuth

    Shopify exposes structured "metafields" on orders, but writing them requires the `write_orders` permission via an OAuth app. There is no equivalent of "drop a PHP file into wp-content/plugins" — you ship an app, the merchant installs it, and metafields flow through the Admin API.

  3. 3

    Cart-line vs cart-level attribution

    WooCommerce gives you per-line metadata, which lets you credit specific products to specific scans even in mixed-product carts. Shopify's order-level metafields force aggregate attribution unless you write the value into line-item properties on cart-add — a fragile dance.

  4. 4

    Performance & rate limits

    Direct WC writes are free of rate limits at the platform level. Shopify's Admin API enforces 2 calls/sec on REST and a leaky-bucket on GraphQL — fine for retail volume, awkward for flash sales where 200+ orders/sec hit the metafield writer.

  5. 5

    The store-agnostic path, when neither connector fits

    A connector is a convenience, not a requirement. The scan id, the campaign and the conversion event are all held platform-side, so any store that can fire a server-side request can attribute: capture the `qr_ref` value on the landing page, then POST the order to `/api/v1/conversions` with `event_name`, `external_id`, `amount`, `currency` and either `qr_slug` or `session_ref`. Deduplication is keyed on `external_id`, so a retrying webhook answers `{"duplicate": true}` instead of double-counting revenue — which is the part most home-grown attribution gets wrong. The WooCommerce connector syncs over `/api/v1/wp/*` with the site's licence key; a Shopify connector is planned along the same lines, and nothing about the model on our side changes when it lands.

Frequently asked questions

What is QRCode Suite?

QRCode Suite is a standalone QR code platform: create a free account and generate branded, dynamic QR codes in the browser — no WordPress required. Connectors bring the same codes to WordPress and WooCommerce, where orders can be attributed to specific QR codes.

Does QRCode Suite work without WordPress?

Yes. QRCode Suite is a standalone SaaS — sign up, create QR codes, and track scans entirely on qrcode-suite.com. The WordPress plugin is an optional connector that brings your codes into wp-admin and adds WooCommerce order attribution.

Does QRCode Suite require a separate subscription?

The Free plan is available at no cost — no credit card required. Paid plans (Pro €9, Business €29, Agency €79 per month) unlock unlimited codes, redirect rules, and more. There is no separate per-scan fee.

What QR code types does QRCode Suite support?

QRCode Suite supports 22 QR code types: Static URL, Dynamic URL, Plain Text, Phone, Email, Location, Link Hub, SMS, WhatsApp, Wi-Fi, vCard, Social profile, PDF, File download, App download, Coupon, Calendar event, Lead capture form, Review collection, Wholesale inquiry, Loyalty reward, and Custom payload.

Can I change the destination of a QR code after printing it?

Yes. Dynamic QR codes use a short redirect URL. You can update the destination from your dashboard at any time without generating or reprinting the code.

Need help getting started?

Start free or browse all documentation.

Start freeAll docs