ARCY AI

Users

Find one end user by id, name or email, check the attributes identify() sent, and open any of their sessions to see what they did, in order.

Autopilot > Users lists every end user arcy.js has seen in the environment selected in the sidebar, identified or anonymous, and opens each one's attributes and sessions. Use it to confirm identify() is reaching ARCY and to look one person up.

Before you start

A user appears in the environment they were seen in. An empty Production list beside a busy Development list means nobody has identified through your live Token yet. Sessions from localhost are listed with their origin shown.

Setting it up

Nothing to configure. What a row can show depends on what your identify() call sends:

js
arcy.identify("user_123", {
  user_first_name: "Ada",
  user_last_name: "Lovelace",
  user_email: "ada@example.com",
})

Send none of these and the row shows only the user id. Every attribute must be declared first on Attributes.

What it changes

The list. One row per user: User (the name, or the id, with Anonymous for a visitor who never identified), Last seen, Sessions, Origin(s) and Consent, the person's latest answer. Search matches id, name and email. Filter by All users, Identified or Anonymous. Sort by user, last seen or sessions. Search, sort and paging cover every user. The Segments ARCY found in this environment sit under the table; see Segments. The Consent section under them is explained on Consent.

The user page. Click a row. The header carries User ID, First seen, Last seen, Sessions, Events and Time in product, and links to the user's organization when one arrived. Attributes lists everything identify() sent, labelled with the display name from your registry; hover a label for the code name. Sessions lists every session in the date range you pick, with Origin, Entry page (identifiers scrubbed, so /orders/12345 reads /orders/:id), Started, Length, Events, Struggle and Identity. Consent history under the sessions lists every answer this person gave, each linked to its session.

Identity names one of five outcomes, and hovering explains it. Verified: signed with the current Secret. Verified (old key): signed with a Secret you have replaced. Unverified: a user was claimed with no signature, so the claim could not be checked. Refused: the signature did not match, so the session was treated as anonymous. Anonymous: identify() was never called.

Activity. See activity on a session row opens that session on its own page, with an address you can share. Every event the person produced is listed in the order it happened, grouped by page, with the time since the session started and the wall clock time. ARCY's own moments, the widget opening, a question, a flow started and how it ended, are in the same list. Three struggle marks appear on the event that caused them: Repeated clicks, Came back to this page and Longer here than usual. They are worked out from what the person did in your Product, never from ARCY's own events. A very long session is cut off at the end, and the page says so.

Consent in the Activity header reads Accepted on your banner, Accepted in the chat, Refused on your banner, Refused in the chat, or Not answered. The model is on Consent.

When it goes wrong

Nobody appears although identify() runs. Check the environment in the sidebar, then the Token in your page source against Environments.

A user is Anonymous although your code sends the right id. The claim did not verify and the check is required. See Identity verification.

An Activity page is empty. Nothing is recorded until the visitor agrees, on your banner or in the chat. The page says the session reported no answer: the person never answered, or your banner does not call arcy.consent() yet. See Consent.

See also

On this page