ARCY AI

Users

Find one end user by id, name or email, check the attributes identify() sent, and open any session to read what they did row by row, clicks that did nothing included.

Users lists every end user arcy.js has seen in the selected environment and opens each one's attributes and sessions. An empty Production list means nobody has identified through your live Token yet.

Setting it up

A row shows what identify() sends:

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

Every attribute is 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. Segments follows the table, and Consent closes the page.

Consent. The last section, over Last 30 days unless you pick another range: Sessions, Sessions that accepted split into On your banner and In the chat, Sessions that did not accept split into refused and never answered, and how many the chat won back. Counted in sessions, never in people: a device that refused holds no identifier, and a session that never accepted never becomes a user (Consent). With none in the range the section reads No consented browsers yet and offers Go to Installation.

The user page. The header carries User ID, First seen, Last seen, Sessions, Events and Time in product, and a link to their organization. Attributes lists everything identify() sent under its display name; hover for the code name. An attribute a flow saved says so until identify() replaces it. Before sign-up appears for a person who browsed anonymously first: the Acquisition channel (the utm_source, else the referrer's domain, else direct), the Landing page, when they signed up, and the days and sessions that took. History begins at consent, never at landing, and a person never crosses devices. Checklists lists each list an agent showed this person and what is done (Checklists). Sessions lists every session in the date range you pick, with Origin, Entry page (/orders/12345 reads /orders/:id), Started, Length, Events, Struggle and Identity; one from before the sign-up carries Before sign-up. Consent history lists every answer this person gave, linked to its session.

Identity names the outcome; hover for details. Verified: signed with the current Secret. Verified (old key): signed with a Secret you have replaced. Unverified: claimed with no signature. Refused: the signature did not match, so the session reads as anonymous. Anonymous: identify() was never called.

Activity. See activity on a session row opens that session on its own page: every event in order, grouped by page, with the time since the session started: "Arrived at /", "Changed page to /pricing", "Clicked Pricing (link)", "Submitted the Contact form", "Asked ARCY: …" and "ARCY answered: …" linking to the transcript, or Asked ARCY (message not kept) when your Product keeps no message content, Liked ARCY's answer or Disliked ARCY's answer. A click that changed nothing carries Nothing happened; a click ARCY performed during a flow reads as ARCY's act. Struggle marks sit on the event that caused them: Repeated clicks, Came back to this page, Longer here than usual, Stopped on a field, never sent the form, Same field refused twice and Sent the form, server refused it. A very long session is cut off; the page says so.

When it goes wrong

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

A user is Anonymous although your code sends the right id. The claim did not verify: Identity verification.

An Activity page is empty. Nothing is recorded until the visitor agrees: they never answered, or your banner does not call arcy.consent() yet (Consent).

See also

On this page