Skip to main content
identify links a visitor’s browser session to their email address. When the order reaches Northbeam from your backend, Northbeam matches it to that session by email, instead of by order ID. Use it when your checkout can’t give the order ID to the browser. The most common case is a third-party checkout provider, such as CheckoutChamp, CartHook, or Purple Dot.

Which setup you need

Most stores track purchases with a purchase event, which sends the order ID from the confirmation page. If your checkout can’t do that, those orders show as unattributed. identify fixes this. identify works the same way on Shopify and custom stores.

Requirements

Before you start, confirm that:
  • The Northbeam Pixel is on every page, including your checkout pages.
  • Your checkout is on the same root domain as your store. For example, checkout.yourstore.com works. A completely different domain does not.
  • Every order sent to Northbeam includes customer_email.
  • You can add scripts to the checkout pages, either in code or through Google Tag Manager.

Set up identify

Step 1: Add the pixel to your checkout pages

The Northbeam Pixel must run on every page, including pages served by your checkout provider. Without it, there’s no session for identify to attach to. If your checkout runs on a subdomain (for example, checkout.yourstore.com), install the pixel there too. Use the same script and steps from your platform guide, and confirm your Content Security Policy allows traffic to your i. subdomain.

Step 2: Call identify when the email is known

Call identify on the checkout step where the customer first enters their email, usually the contact or information step. The earlier it fires, the more orders Northbeam can match.
Replace customer@example.com with the customer’s email. It usually comes from a template variable or the data layer. In your site’s code, use your platform’s template variable:
In Google Tag Manager:
  1. Create a Data Layer Variable for the customer’s email (for example, dlv - customer_email).
  2. Create a Custom HTML tag with this script:
  1. Set the trigger to fire on the checkout page where the email is entered.
  2. Publish the container.

Step 3: Send customer_email with every order

Northbeam matches by email, so customer_email is required on every order.
  • Custom (Orders API): include customer_email in the payload.
  • Shopify: Northbeam pulls the email from the Shopify order. Check that orders in your Shopify admin have an email.

identify reference

You can send the email as plain text or as a SHA-256 hash.
Use plain-text "email" when you can. We normalize and hash it for you. Use "hashed_email" only if your privacy policy doesn’t allow sending plain-text emails to third parties. If you hash the email yourself, trim spaces and lowercase it first. Following the full normalization guidelines improves match rates.

identifyCustomerId

If you’d rather not send email addresses, use identifyCustomerId. It links the session to the customer’s ID from your order management system, with no personal information shared.
The ID must exactly match the customer_id on the order. If it doesn’t, the match fails.

Troubleshooting