Integrations
Let ARCY hear the PostHog, Mixpanel, Amplitude or Google Analytics 4 events your page already sends, and record the ones you accept under a name you choose.
Settings > Integrations is where ARCY listens, in the browser, to the analytics tools already running on your pages. Per environment: a tool switched on for Staging is not listened to on Production. ARCY reads nothing from the tool's servers, holds no key and reads no cookie. It hears event names on the page and nothing else.
Before you start
- Only an admin can switch a tool on or accept an event. A member sees the same page read-only.
- A visitor must have accepted your consent banner before an event name is reported. On the page you test with, accept the banner first. See Consent.
- The tool must be on the page as a global (
window.posthog,window.mixpanel,window.amplitude, ordataLayerfor Google Analytics 4). A tool installed from npm has no global; hand its instance toarcy.initwith thelistenoption, documented on Reference.
Setting it up
Analytics tools. Four switches: PostHog, Mixpanel, Amplitude, Google
Analytics 4. A tool that is off is never touched, not even to see whether it is present.
arcy.js looks for a tool that is on every half second for ten seconds after it loads, so a
tool added by a tag manager is still found. While a tool is on, its card shows Hand it to
a coding agent: one button per agent, each copying that tool's check as a task for your
repository. It covers whether your install needs listen, the second arcy.track() to
avoid, and how to see the first event arrive. Any member can copy it.
Seen events. Every custom event name arcy.js has heard leaving a switched-on tool, with
the tool and when it was last heard. A tool's own names never appear here: PostHog's and
Mixpanel's $... events, Amplitude's [Amplitude] ... events and Google Analytics 4's
automatic events such as page_view or scroll.
Each row carries an ARCY name, pre-filled as a plain slug of the tool's name:
Checkout Completed becomes checkout_completed. Lowercase letters, digits and
underscores, at most 64 characters, starting with a letter. Edit it if you like, then press
Accept. Two tool names may share one ARCY name. Update saves an edited name on an
accepted row and Remove stops recording it.
What it changes
- From the next page load after Accept, every time the tool sends that event ARCY records a custom event under the ARCY name in the same session. Name only: the properties the tool attached are dropped in the browser and never sent.
- A recorded event counts as a tracked event against your plan, obeys consent like every other event, appears on a session's Activity, and can be picked as a flow's completion event on Flows. Names nobody accepts are dropped after 90 days.
- The list holds at most 1,000 names per environment. Past that, a new name is not listed until unaccepted names drop out. One page load reports at most 200 names per tool.
- If a switched-on tool already sends an event, do not also call
arcy.track()with the same name. You would record it twice. - Only what happens in the browser is heard. An event your backend sends to a tool's server
SDK, a payment webhook for example, never passes through the page. Keep
arcy.track()for those.
When it goes wrong
- Accept answers "The mapping could not be saved." and the row disappears: the name dropped out of the list while the page was open. It returns on the page's next load, and Accept works then.