Skip to content

Tulo Paywall - Visitor identification

Target audience: Developers, Stakeholders

Introduction

By default, the Engage tracker embedded in every paywall identifies the visitor only by their login state (anonymous or logged_in). The visitor's Payway Account ID is not included in the tracker payload, and Tulo Paywall does not collect or store any personal data about paywall visitors. See What is tracked for the full picture.

If you want the visitor's Payway Account ID to be forwarded as userId on the tracker payload, you can opt in by setting the tv (Track Visitor) claim to true on the JWT you generate for the paywall request.

What Tulo Paywall does and does not do

Tulo Paywall does not collect these events

Even when you opt in with tv: true, Tulo Paywall does not take part in the data collection. The tracker emits events into your own Engage data destination — Tulo Paywall does not capture them, store them, retain them or otherwise process them.

Opting in is only useful if you already run your own data collection and want the events to land there with an account-level identifier attached. As the publisher who has opted in, you are responsible for:

  • Receiving the events. Configure your own Engage data destination to ingest them; Tulo Paywall will not replay them for you.
  • Collecting consent. Forwarding the Payway Account ID identifies the visitor at the account level and constitutes personal-data processing. Collect appropriate consent from the visitor before setting tv: true, in line with your privacy policy and applicable data-protection regulations.
  • Storing and protecting the resulting data. Once events reach your data source, the storage, retention and protection of any personal data they contain is your responsibility.

Without tv: true, the tracker still emits paywall-performance events — but only with the visitor's login state (anonymous / logged_in), no account-level identifier.

Behaviour

tv claim aid claim Result
omitted / false any userId is not included on the tracker context or on the purchase_end event payload.
true omitted userId is not included — the visitor is anonymous, there is no account id to forward.
true present userId is included on the tracker context and on the purchase_end event payload, set to the value of aid.

Example

{
  "iss": "57221f11584d54e28b000001",
  "aud": "pw-paywall",
  "nbf": 1603455793,
  "exp": 1603542193,
  "iat": 1603455793,
  "aid": "63cfafea09c04c30c9e17c21",
  "t": "TITLE_CODE",
  "tv": true
}

See also