Install Jimo
The snippet in your app and the identify call, by a developer or a coding agent. Both parts are the install.
Everything before this step runs on your browser alone. Step 4 puts Jimo in your application for your users: a script in the page head, and an identify call so Jimo knows who each user is. About an hour for the person who edits your app. Both parts are the install; without identify, every user is anonymous.
You will have at the end: the snippet detected on your app, and your own account listed as an identified user in Users & Segments.
Who does this
Someone who can add a script tag to your application, or who manages your tag manager. If that is not you, send them this page, or use Share Instructions to Engineer on the Get Started page, step 4. The rest of this page is written for them.
Two routes
Open Get Started, expand 4. Install Jimo to publish experience. Two tabs.

For whom: a developer who works with a coding agent (Claude Code, Cursor, Codex, or another).
What you get: a complete prompt to copy into the agent. It explores the codebase first, proposes where to load the script, where to identify, which attributes and events to send, and waits for approval before writing code. The Project ID is already filled in.
For whom: a developer who prefers to do it by hand, or a tag manager owner.
What you get: the snippet with your Project ID, and the identify instructions.
Both routes do the same four things, listed below. The AI route also proposes attributes and events, which are the next level (Attributes and events).
Manual route, step by step
Load the SDK
Copy the snippet from the Manual Install tab (or from Settings > Installation) and paste it in the <head> of every page of your app, where you already load third-party scripts. Keep the if (j["jimo"] != null) return; guard: running the snippet twice empties the command queue. Google Tag Manager: see the GTM section of the SDK guide.

Identify the user
Where your app knows who is logged in, push the user's data then the identify call, in this order:
user.id is your stable internal ID, never an email. Once per session, at login, not on every route change. Every set goes before identify. Details in Identify your users and the Identify users SDK guide.
Allow Jimo in your CSP
If your app sends a Content-Security-Policy header. The domains per directive are in Settings > Installation. See CSP and identity verification.
Install on staging first if you have one, then on production. Same snippet, same Project ID; environments do the rest (see Environments and domains).
Turn on Force identify

In Settings > Installation, Identification tab, enable Force Identify. Jimo then initializes only once a user is identified, and buffers any command pushed before that. Do it when every user of your app is authenticated. Skip it for a public site where anonymous visitors should see experiences.
Verify
Snippet detected
Settings > Installation shows the snippet as detected on your domain.

Your account is identified
Open your app, log in, then open Users & Segments: your own account is listed with the name and email you pushed. If it is listed as Anonymous, the identify call did not run or ran before the set commands.
The SDK is initialized
In the browser console on your app, window.jimo is an object ({} with methods): undefined means the script is missing, [] means it is present but not initialized.
No blocking error
No console line mentioning IDENTIFY_VERIFICATION or "Content Security Policy".
Reload the Get Started page: step 4 is checked.
Go further
Identify your users: which ID, ordering, Force identify, what counts as MAU. Readable without code.
Attributes and events: what to send so you can target and measure.
For developers: Install our SDK, SDK methods, Manual initialization to control on which pages Jimo loads.
Next page: Step 5, Publish your first experience
Last updated