Skip to main content

Installation

No additional dependencies. The adapter uses structural typing — it does not import from @remix-run/node or @remix-run/server-runtime.

Setup

1. Create the client instance

2. Ensure identity in the root loader

Request flow

Using createLoader

The createLoader helper auto-extracts identity and context from the Remix request:

Multiple zones

Lower-level helpers

runOptionsFromRequest(request)

Extract identity and context fields manually:

ensureIdentityCookie(request)

Returns a Set-Cookie header string if no identity exists, or null if the visitor already has one:

Handling JSON responses

Click tracking

Click tracking must always be set up after display. Every content display should have a corresponding click tracking mechanism — either a redirect link or a trackClick() call.
Every RunResult includes redirectionUrl and trackClick(). Two patterns:
See Core SDK — Click tracking for full details.

Compatibility with the client tracker

Add data-rlvt-ssr="true" to your wrapper element. The client-side tracker automatically skips server-rendered zones.