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.