Set up › Install
Moving from Smartlook
Move from Smartlook: change where the script loads from, and the key. Your tracking calls keep working, and session replay continues on Sequential.
Install with your AI agent
Copy a complete instruction for a coding agent (Claude Code, Cursor, Copilot…) with your repo open. It says how to find an existing install, what to change, and how to check events arrive, and it includes this page.
Keys are placeholders; the agent will ask for them. Sign in to fill in your project's keys.
On this page
This page is for sites that already run Smartlook. Sequential serves its own Smartlook-compatible script. Smartlook’s recorder never loads on your page again. track, identify, properties, navigation and error calls keep working unchanged.
Script-tag install
Two edits to the snippet the site already has:
c.srcloads/recorder.jsfrom the Sequential API URL instead ofhttps://web-sdk.smartlook.com/recorder.js.- The
initcall uses your Sequential Smartlook ingest key, and the options object is{}. Deleteregion: it picks a Smartlook data centre and means nothing here.
The snippet with both lines changed and marked:
<!-- keep your existing snippet; change the two marked lines -->
<script type='text/javascript'>
window.smartlook||(function(d) {
var o=smartlook=function(){ o.api.push(arguments)},h=d.getElementsByTagName('head')[0];
var c=d.createElement('script');o.api=new Array();c.async=true;c.type='text/javascript';
c.charset='utf-8';c.src='https://api.usesequential.com/recorder.js'; // ← was web-sdk.smartlook.com
h.appendChild(c);
})(document);
smartlook('init', 'YOUR_SMARTLOOK_INGEST_KEY', {}); // ← your Sequential key; drop { region: … }
</script>Change both lines. If c.src still points at web-sdk.smartlook.com, Smartlook’s own recorder runs and sends data Sequential discards. That includes your events, not only the replay.
npm install (smartlook-client)
Keep the package and set relayProxyUrl to the Sequential API URL, as an origin only, with no path. That one option points both the script and the data at Sequential. Do not also set host: the package derives it.
import smartlook from 'smartlook-client';
smartlook.init('YOUR_SMARTLOOK_INGEST_KEY', { relayProxyUrl: 'https://api.usesequential.com' });What is supported
Smartlook’s interceptors still work (returning false drops an event). pause, resume, restart, anonymize, disable, getData and initialized behave as before. sessionId, visitorId, recordId, key and version are readable on window.smartlook. record({ forms, ips, numbers, emails, api }) does not change masking. Sequential stores the call as a record event of the System class. Event lists hide System events. See Events.
| Capability | Support | Notes |
|---|---|---|
| Custom events | Yes | smartlook('track', name, props). |
| Page / screen views | Yes | Page loads and in-page (pushState) navigation, plus navigation(path). |
| Autocaptured clicks & forms | Partial | Clicks with a CSS selector and element text. No form, focus, input or network events. |
| Identify (user id) | Yes | smartlook('identify', id, props). |
| User properties | Yes | identify props and smartlook('properties', …). |
| Groups / accounts | No | Smartlook has no groups. |
| Errors | Yes | Uncaught errors, unhandled rejections and smartlook('error', …). |
| Session replay | Yes | Smartlook's recorder is replaced: Sequential's recorder starts automatically and shares the Smartlook session id. Masking comes from the project's recording settings, not from record(). |
| DevTools: errors, console, network, performance | Yes | Captured by the recorder the Smartlook script starts. smartlook('error', …) shows as an error. Smartlook's interceptors and advancedNetwork options do not apply to it. |
| Feature flags, surveys, experiments | No | Smartlook has none. |
| Server-side SDKs | No | Web only. Smartlook mobile SDK traffic is answered and dropped. |
Session replay
Sequential’s recorder starts on its own. It needs no extra snippet, and it shares Smartlook’s session id, so events and recordings line up. It records only if the project has a live replay key. What it masks, samples and skips is set per project in Sequential (Settings → Projects → Session replay). No option in the page changes it. To stop recording, turn replay off there. Do not add client-side options for it.
Smartlook’s mobile SDKs are not supported. Their traffic is answered and dropped.
Content-Security-Policy
Only if the site sets a Content-Security-Policy. Add these origins to the directives it already has; do not replace them.
script-src https://api.usesequential.com https://cdn.usesequential.com
connect-src https://api.usesequential.comCheck it works
- Load a page of the site in a normal browser (headless and automated browsers are rejected as bots) and open the network panel.
- Look for requests to the Sequential API URL that answer 2xx. A 401 means the key is wrong, or belongs to another source (every key works with one SDK only). A 403 means the request looked like a bot.
- In Sequential, Settings → Projects → Setup shows your source as "receiving" once its first event arrives. Until then, the Sequential SDK and session replay read "no events yet", and another source's line does not show. The page checks again every few seconds for 5 minutes after you open it. After that, reload it. The first event can take up to about a minute to appear.
More in Check your install.