Browse documentation
Technical guide

Connect acquisition to customer revenue.

Everything required to install Revliu, preserve anonymous journeys, identify customers, record lifecycle milestones, and match Stripe payments.

Install the tracker

Use one script tag or the npm package. Page views and client-side navigation are recorded automatically.

Preserve identity

An anonymous visitor ID connects the first acquisition touch to a later confirmed customer profile.

Send lifecycle events

Record signup, trial, subscription, and purchase milestones with a small browser API.

Connect Stripe

Secure OAuth access loads successful payments and links revenue to known customers.

Introduction

How Revliu attribution works

Revliu creates a first-party anonymous visitor identifier on the customer's website. Campaign and tracked-link context stays attached to that identifier across visits. When the product confirms who the visitor is, an identify event links the existing anonymous history to the customer record instead of creating a disconnected journey.

1

Tracked link

2

Anonymous visit

3

Identify

4

Trial or purchase

5

Stripe revenue

Getting started

Install in a few minutes

Copy the site-specific snippet from Settings → Website trackingand add it once to the global layout, ideally before the closing body tag.

Global website layout
<script
  src="https://r.revliu.com/tracker.js"
  data-site-id="YOUR_SITE_ID"
  defer
></script>

React and Next.js applications can use the package for explicit initialization and automatic History API navigation tracking.

Terminal
pnpm add @revliu/tracker
revliu-analytics.tsx
"use client";

import { init } from "@revliu/tracker";
import { useEffect } from "react";

export function RevliuAnalytics() {
  useEffect(() => {
    init({
      siteId: "YOUR_SITE_ID",
      endpoint: "https://r.revliu.com",
      autoPageview: true,
      autoTrackNavigation: true,
      respectDoNotTrack: true,
    });
  }, []);

  return null;
}

Connection

Connect and verify a website

The configured website hostname is used to validate incoming event origins. Publish the tracker on the production domain, open at least one page, then use Check connection in Revliu. Webflow, Framer, WordPress, custom HTML, Next.js and Shopify are supported; the installation surface differs by platform.

  1. 1Save the exact public website URL in Workspace settings.
  2. 2Choose the matching platform and copy its generated installation code.
  3. 3Publish the change globally, not only on the landing page.
  4. 4Visit the production site and verify the connection in Revliu.

Identity

Turn an unknown visitor into a known customer

Call identify after authentication or a confirmed signup. Use a stable internal customer ID whenever possible and include the email and Stripe customer ID as traits. Revliu sends the same anonymous visitor ID with the identify event, links both records, and preserves the earlier acquisition journey.

After confirmed signup
// Run after authentication or a confirmed signup.
window.Revliu.identify(user.id || user.email, {
  email: user.email,
  name: user.name,
  stripeCustomerId: user.stripeCustomerId,
});

Do not scrape form fields automatically

The standard tracker does not read email inputs or passwords. Capturing an incomplete signup requires a separate, disclosed workflow with a lawful basis, short retention, and a pending status. Use identify for identities your application has confirmed.

Events

Record meaningful customer milestones

Events advance the acquisition funnel without replacing the customer identity. Send them after the corresponding business action succeeds, not when a user merely opens a form or pricing page.

Lifecycle events
window.Revliu.track("signup", { plan: "starter" });
window.Revliu.track("trial_started", { plan: "pro" });
window.Revliu.track("subscription_started", {
  plan: "pro",
  billingCycle: "monthly",
});
window.Revliu.track("purchase", {
  orderId: "order_123",
  value: 4900,
  currency: "EUR",
});
signup

Marks an identified profile as a lead.

trial_started

Adds the optional Trial milestone.

subscription_started

Marks the customer as paying.

purchase

Records a direct-sale payment milestone.

Attribution

Identity and attribution data model

Visitor, customer and revenue records remain separate and are joined explicitly. This preserves anonymous analytics while preventing a payment from being attributed without a verified relationship.

Visitor

First-party visitor ID, sessions, sources, locations and campaign touchpoints.

Customer

Stable external ID, email, name, lifecycle and optional Stripe customer ID.

Identity link

Connects one customer to one or more visitor IDs across known devices.

Revenue item

Payment, refund status, currency and attribution confidence.

Stripe Connect

Connect payments securely with OAuth

Revliu uses Stripe Connect OAuth. The platform never asks customers to paste their secret key. Stripe returns an authorization code to the exact registered callback URL, and Revliu stores the connected account identifier for server-side synchronization.

1. Authorize

The account owner approves access on Stripe's hosted screen.

2. Exchange

The one-time code is exchanged securely by the Revliu server.

3. Synchronize

Successful payments and refunds update revenue attribution.

Customer matching requirement

For deterministic Stripe attribution, pass the Stripe customer ID instripeCustomerId during identification, or use the Stripecus_… value as the stable customer ID. Email alone is not the primary payment matching key.

Privacy

Consent, minimization and retention

Revliu supports explicit consent mode and honors Do Not Track by default. In required mode, no page view or identity event is sent until consent is granted. Opt-out clears visitor, session, tracked-link and campaign state from browser storage.

Consent mode
init({
  siteId: "YOUR_SITE_ID",
  endpoint: "https://r.revliu.com",
  consentMode: "required",
});

setConsent(true);  // Start permitted tracking
setConsent(false); // Stop and clear tracking identifiers
  • Document Revliu in the website privacy notice.
  • Collect only the identity traits required for attribution.
  • Never send passwords, authentication tokens, payment details or sensitive data.
  • Configure consent before tracking where local law requires it.

Support

Common connection checks

No visitors appear

Confirm the site ID, production hostname, consent state and browser Do Not Track setting.

Visitor remains Unknown

Call identify after signup with a stable customer ID and verify the request in the browser network panel.

Stripe OAuth rejects the callback

The redirect URI must exactly match the URI registered for the same live or test Connect client ID.

Revenue is unattributed

Confirm that identify included the matching Stripe customer ID before the payment was synchronized.

Ready to connect your first site?

Open the website settings to copy your unique installation code.

Open website settings
Revliu Logo

Revliu Assistant

Onboarding, Tracking & Support