Install
1
Get your pixel key
Each workspace has one public pixel key (it identifies your workspace —
it is not a secret, and it is safe to ship in page source). Ask your Verbose
contact for your key and the pixel URL for your account; both look like the
example below.
2
Add the script
Paste this into your site’s The pixel sends an automatic
<head> (or add it as a Custom HTML tag in
Google Tag Manager). Replace the key with your own.page_view on every load. Nothing else is
tracked until you ask for it.3
Allow your domain
So other sites can’t send events as you, your workspace lists the origins
the pixel will accept. Give your Verbose contact the exact origins you’ll
install on (e.g.
https://www.example.com). Until an allowlist is set, all
origins are accepted — fine for testing, not for production.Track an event
Callverbose('track', name, props) anywhere in your site code. The name is
yours to choose — pick something readable and stable (checkout_started,
quote_requested, cart_abandon). The moment an event first arrives, its name
appears in your workspace’s flow-trigger picker; you don’t register it anywhere
first.
Property rules. Props must be simple scalar values — strings, numbers,
booleans. Nested objects and arrays are dropped. Keep values short and never
put personal or sensitive data (names, emails, health details, card numbers)
in a prop. The collector strips anything that violates this, but the right
place to enforce it is your own
track calls.Common patterns
1
A button click
2
A single-page app route change
The auto page view fires once on load. For client-side navigation, send one
yourself after each route change:
3
From Google Tag Manager
Create a Custom HTML tag that calls
verbose('track', …), and fire it on
whatever GTM trigger you like (a click, a form submit, a page path). This
lets non-developers add events without touching site code.Tie events to a contact
Events start anonymous — attached to a first-party visitor id the pixel stores in the browser. They connect to a contact in one of three ways:1
They arrived from a Verbose link
When someone clicks a tracked link in one of your texts, they land with a
?vcx= parameter. The pixel remembers it for the session, so every event on
that visit is tied to the contact automatically.2
You identify them
If you know who the visitor is (they logged in, submitted a form you handle),
tell the pixel:This matches the visitor to the contact with that phone number in your
workspace.
3
They identify later
Once a visitor is connected, their earlier anonymous events from that
browser are back-filled to the contact — so “viewed pricing twice before
they ever texted” is preserved.
A flow only fires for a known contact. Anonymous events are still recorded
and will attach retroactively once the visitor is identified — but the trigger
runs at the moment the contact is known.
React to an event with a flow
1
Add a trigger
In the flow editor, set the trigger’s Start when… to
A website event fires (pixel).
2
Choose the event
Pick the event name from the list (it’s populated from the events your site
has actually sent), or leave it blank to fire on any web event.
3
Build the response
Add the SMS, voice, wait, or tagging steps that should happen. Activate the
flow. Now a matching event from a known contact enrolls them immediately.
cart_abandon event triggers a flow that waits 20 minutes, then
texts “Still thinking it over? Your cart’s saved — reply YES for a hand.”
Consent
For consent-sensitive sites, hold all tracking until the visitor agrees:Reference
Troubleshooting
1
Events aren't showing up
Check, in order: the script’s
data-key matches your workspace; the site’s
origin is on your allowlist (or the allowlist is empty); and, if you used
data-consent="deferred", that verbose('consent') has run.2
A flow isn't firing
The contact must be known — confirm the visitor arrived via a
?vcx=
link or that you’ve called verbose('identify', …). Confirm the flow is
active and its trigger event name matches (or is blank).