Skip to main content

How to Send Smart QR Scan Events to Triple Whale

Set up the On SQR Scan flow in Yuzu to send Triple Whale offline events whenever a Smart QR code is scanned.

Updated this week

Triple Whale is an eCommerce analytics platform that centralizes your store's marketing, revenue, and attribution data in one place. By sending Yuzu Smart QR scan events directly to Triple Whale, you can track offline and post-purchase touchpoints alongside other marketing activity giving you a more complete picture of what's driving conversions.

A shot of the Yuzu smart QR code flows with the HTTP module showing how to send data to Triple Whale.

Use this guide to send a Triple Whale custom offline event whenever a Yuzu Smart QR (SQR) code is scanned.

This setup uses the On SQR Scan flow trigger in Yuzu together with the Send HTTP request flow action.

What this setup does

  • Yuzu triggers the On SQR Scan flow when a Smart QR code is scanned.

  • Yuzu sends an HTTP POST request to Triple Whale.

  • Triple Whale records the scan as a custom event.

Before you start

  • Access to your Yuzu flows

  • Access to your Triple Whale account

  • A Triple Whale API key

Step 1: Create or copy your Triple Whale API key

Create a Triple Whale API key in your Triple Whale account, or copy an existing key you want to use for Yuzu scan events. For more information on creating a Triple Whale API key, read this guide.

You will use that key in the Yuzu HTTP request action as:

x-api-key: YOUR_TRIPLE_WHALE_API_KEY 

Step 2: Open the On SQR Scan flow in Yuzu

  1. Go to Flows.

  2. Open On SQR Scan.

  3. Add or edit a Send HTTP request action. This flow will fire every time a Smart QR code is scanned.

Step 3: Configure the HTTP request

Set the HTTP action to:

Method: POST  

Set the URL to:

URL: https://api.triplewhale.com/api/v2/data-in/event 

Add this header:

Key: x-api-key Value: YOUR_TRIPLE_WHALE_API_KEY

Use this request body:

{
"shop": "YOUR_TRIPLE_WHALE_SHOP_DOMAIN",
"type": "custom",
"event_name": "yuzu_qr_scanned",
"category": "conversion",
"subcategory": "other",
"profileIdentifiers": {
"externalId": "{{ order.sqr.id }}",
"email": "{{ order.order.customer_data.email }}"
},
"source": "yuzu",
"campaign": "{{ order.sqr.template_id }}",
"order_id": "{{ order.order.id }}",
"block_id": "{{ order.sqr.block_id }}",
"destination_url": "{{ order.sqr.destination_url }}",
"sqr_key": "{{ order.sqr.key }}"
}

Why these variables are used

  • {{ order.sqr.id }} is used as the stable external identifier for the scanned QR event.

  • {{ order.order.customer_data.email }} passes the customer email if the order contains one.

  • {{ order.sqr.template_id }} is used as the Triple Whale campaign value. You can change this to a different string that better represents the campaign objective, or consolidate different templates into shared reporting groups.

  • {{ order.order.id }} sends the related Yuzu order ID as an additional event property.

Step 4: Publish the flow

After saving the HTTP action, publish the flow. The flow must be published before live scans will send events to Triple Whale.

Multi-store Yuzu accounts

If your Yuzu account manages multiple stores, do not hardcode a single shop value for every scan. Instead:

  1. Add a branch before the Triple Whale HTTP request.

  2. Split the flow using {{ order.order.source_map }}.

  3. Send each branch to the correct Triple Whale shop value and store-specific payload.

Troubleshooting

The event is not arriving in Triple Whale

  • Check that the flow is published.

  • Check that the request method is POST.

  • Check that the endpoint URL is correct.

  • Check that the x-api-key header is present.

  • Check that the Triple Whale API key is valid.

Campaign name is blank

If you try to use a template name and it resolves blank, use {{ order.sqr.template_id }} instead.

Multiple stores are sending to the wrong Triple Whale shop

Add a branch before the HTTP request and route by {{ order.order.source_map }}.

Did this answer your question?