See what RightMessage is doing on your site
You'll see why content appears, try different audiences, inspect visitor data, and edit campaign changes while you test your website.
Updated
View as MarkdownThe debugger shows why RightMessage displays or hides content on your page. Its six tabs let you inspect visitor data, follow events, and edit campaign changes. It runs in a sandbox, so RightMessage doesn't send analytics or proposed contact updates while you debug.
For the steps to test a draft and then check your live site, see testing your changes.
Open the debugger
You'll need an installed RightMessage snippet and a signed session for a user who can edit the project. Preview on your site in the dashboard opens your draft on your real website with the debugger docked at the bottom. A campaign's Debug on site opens it focused on that campaign.
Adding debug=true to a URL doesn't grant access. Without a valid token, the browser goes through RightMessage authorization. Signed tokens belong to a project and user, expire after eight hours, and require continued project access. If your session expires, you'll need to authorize again.
An unfamiliar website host needs separate confirmation. That signed confirmation link lasts ten minutes. The return URL must use HTTP or HTTPS and can't include a username or password. Tokens are credentials. Keep them out of screenshots, shared URLs, and support messages.
An older, incompatible snippet can trigger a reload. If it still can't support the debugger, you'll see a message asking you to publish from the dashboard to update the tag. Review your pending draft before publishing.
What changes during a debug session
Segment overrides, contact impersonation, forced campaign assignments, test variants, and flow restarts affect only your debug session. They don't update real contacts or change what other visitors see.
Two controls make changes outside that session:
- Save to draft and confirmed Remove change save campaign edits to the real, shared project draft.
- Clear this browser's RightMessage data deletes the real visitor's RightMessage data in this browser, not just the sandbox data.
Switching between Published and Draft doesn't publish anything. Exit discards your sandbox changes but keeps campaign edits you've already saved to the draft. Unrelated scripts and external forms on your website aren't covered by the sandbox.
Display and keyboard controls
| Control | What it does |
|---|---|
| Published | Loads your published setup inside the sandbox. Overrides and impersonation can still change what you see. |
| Draft | Loads your unpublished setup. The badge shows the unpublished change count when available. |
| Inspect on hover | Highlights page elements associated with RightMessage items and exposes inspection details. |
| Technical details | Adds IDs, technical values, and payload details throughout the tabs. |
| Theme button | Switches the debugger between light and dark themes. |
| Open RightMessage dashboard | Opens the project dashboard in another tab. |
| Minimize debugger | Collapses the panel. Open debugger opens it again. |
| Resize handle | Changes the panel height by dragging or using Up and Down Arrow while the handle has focus. |
| Exit | Asks for confirmation before discarding the debug session. |
Left and Right Arrow move between tabs when a tab has focus. Escape minimizes the panel unless an open dialog or editor handles the key first.
What's showing on this page
This page groups campaigns, widgets with their flows, and personalized text into Showing for you, Waiting to appear, and Not showing. Each row explains its state. Show more expands the remaining not-showing items.
Expand an item to see its audience and page conditions, selected variant where relevant, and changes. Draft marks unpublished items or differences. A waiting widget can offer Show it now so you can check its display without waiting for the trigger.
Show on page locates the affected elements. See it in Flows or See it in Personalizations opens the detailed tab. Open in dashboard opens the item in your project. When form-capture decisions are available, the overview also links to them.
What RightMessage knows about this visitor
Visitor shows whether your browser is anonymous, identified through an integration, or impersonating a contact. Technical details adds the visitor ID. Full profile opens the matching dashboard profile if you have access to that feature.
The available information includes:
- First seen, Visits, Pages this visit, Device, and Location.
- Tags and Custom fields from the connected email platform. Anonymous visitors don't have a known contact profile by default.
- Pending tags, which stay in the debug session and aren't sent.
- Scores and Variables, including each variable's expiry or No expiry.
- Page history for this visit. While impersonating, Their earlier visits is display-only and doesn't replay those visits into the session.
- Traffic source, including Referrer, Landing page, and UTM parameters.
- Answers, distinguished as This debug session or Earlier visit, plus the question currently being asked when applicable.
Why RightMessage made a decision
These sections explain where the visitor's data comes from and how RightMessage uses it:
| Section | What it reports |
|---|---|
| How we know who this is | The identity source, discovery details, and profile source when available. |
| Consent | Question-level permission from email-question checkboxes. It doesn't report your site's consent-manager state or provide a global tracking-consent switch. Debugger writes are blocked independently. |
| Cross-domain stitching | Whether incoming visitor context was applied or ignored, and why. |
| Form capture on this page | Observed form status, reason, and selector. Form observation and optional field watching have different setup requirements. |
| Goals evaluated in this browser | Met, Not met, or Waiting, with the campaign, event type, and reason. A debugger goal evaluation isn't a sent conversion. |
Clear this browser's data
Under More actions, Clear this browser's RightMessage data asks you to confirm before deleting the real visitor's data in this browser. It doesn't delete the contact from your email platform or reverse updates already sent outside the debugger.
Try different segments
The right rail appears on every tab except Visitor. It has identity details, segment controls, contact impersonation, and Everything we know to open visitor details. On Visitor, segment controls appear under How they're segmented.
Each segment group shows its current value and where it came from. An override shows Overridden, with the actual value beneath it.
Override opens the group's selector. Choosing a value applies it immediately to this session. A single-select group allows Not known yet or one segment. A multi-select group allows several values. Cancel only closes the selector. It doesn't undo a choice you've already made.
Change edits an override. Reset removes one, and Reset overrides clears all segment overrides. Show more and Show fewer change how many groups you see. Forced campaign assignments have separate Reset controls.
Try a contact's data
Impersonate a contact…, Impersonate someone else…, and the visitor selector in the header open the impersonation dialog. You'll need a connected email platform to look up its contacts.
Enter an Email address and choose Look up. A match shows the contact, proposed segments, and tags before you confirm with Impersonate. Back returns to the lookup. If there's no match, the message offers segment simulation instead.
Nothing is written to the impersonated contact's record. Detach returns you to the actual browser visitor. It doesn't delete the contact.
Recent keeps up to eight impersonated contacts in local browser storage. Each entry has Impersonate and an option to remove it from the list. Clear all clears the local list, not contacts in your email platform.
Follow a flow and try test variants
Flows groups flows by their current state. Select a flow to see its status, time in the flow, start time, widget, path, current step, and why it's waiting or not running. The locate control highlights the visible widget. Open flow opens its builder.
Clear dismissed removes dismissed-widget data in the sandbox. Restart flows for this session restarts flows for you, not for other visitors.
Under A/B tests, you can force a variant for this session. Automatic assignment removes that choice. Other A/B tests includes question and offer tests you haven't reached on the current page. Forcing a draft variant previews it without starting the test.
Inspect personalizations
Personalizations separates campaigns and personalized text into Applied on this page and Not applied. Select an item for details. Hover or use the locate controls to highlight matching elements. The empty state tells you whether you have no personalizations or none that apply here.
Campaign details include Status, Variant, A/B test, Runs on, Who it's for, and Changes on this page. The reasons explain audience mismatches, page targeting, holdback, and changes that didn't apply. Technical mode adds selectors and action IDs.
Variant you're seeing lets you use automatic selection, a specific variant, or Holdback where available. A forced choice affects only this session. Returning to automatic selection doesn't clear a separate segment override.
For personalized text, Every version shows the wording, and You see this marks the active version. Selecting a version with an associated segment simulates that segment. It doesn't edit the phrase.
Inspect events and earlier page views
Events records what happened in the debugger. Category offers All events, Page, Visitor, Campaign, Widget, Flow, Write, and Warnings & errors. Technical mode also exposes Log and the Severity choices All levels, Notice, Warning, and Error.
Select an event to see the state after that moment, grouped into Ran, Waiting, and Didn't run. Just happened marks items associated with the event. When earlier events are available, expand Previous page view with Show events or collapse it with Hide events.
Would send summarizes proposed writes. Technical mode can show Would be sent to analytics and expandable Event details JSON. These show what RightMessage would send, not a delivered contact update or analytics event. Nothing is sent to RightMessage analytics while you debug.
Look up Liquid values
Liquid lists Name and Current value. Filter by Liquid path searches variable paths. Technical mode adds a Liquid column with each expression.
Groups include Segments, Phrases, Contact during impersonation, and Page & session. Values can be marked Overridden or Being asked. They reflect this debug session, including anything you've simulated.
Edit a campaign change
The on-site campaign editor requires website-personalization access on Scale or Pro. Edit opens an existing change. To use Add change, you need an active variant, then you select a page element. Cancel picking or Escape leaves element-selection mode.
Editing in Published switches you to Draft. The editor has Content, Style, and Pages tabs. A new change offers Select parent when the selected element has an eligible parent.
You can drag the header to move the editor. The keyboard move handle uses arrow keys in 10-pixel steps, or 40-pixel steps with Shift. It remembers the position for this tab session.
Content
| Control | Available settings |
|---|---|
| Replace | Replacement content. |
| Find & replace | Repeated Find and Replace with pairs, Add replacement, and Remove replacement. Switching content modes clears the other mode's modification. |
| Visibility | No change, Show, and Hide. |
| Image controls | Image URL and Alt. |
| Link controls | Link URL and Opens in, with Same window or New window. |
Fields depend on the selected element. An image field won't appear for a text heading.
Style
Add style offers text size, color, weight, line height, alignment, background color, padding, margin, border width, border color, border radius, and opacity. Each added property has a value field and Remove.
Add classes and Remove classes accept comma-separated class names. They change the selected campaign element, not your global stylesheet.
Pages
For CSS-selector changes, CSS selector reports the matching-element count or Invalid CSS selector. Page path, Add page, and Remove page control the applicable pages. Domain appears when the project has multiple configured domains and includes Any domain.
A fingerprint-based change shows Smart Match finds this element on any page instead. You can't edit selector and page controls for that targeting mode in the debugger.
AI variations
AI Generate requires a variant with segment rules. It uses the original text, those segments, the element type, and up to 500 characters of surrounding parent text.
Select a variation to replace the text in your preview. Regenerate asks for more options and includes the previous options in that request. Selecting one doesn't save or publish it.
Save, cancel, or remove
Edits appear in your local preview after a short delay. Save to draft stays disabled until you've changed something. A successful save stores the campaign edit and shows Saved to draft, with a Publish in the dashboard link.
Close, Cancel, or Escape reverts an unsaved preview. Draft refresh pauses while the editor is open so it won't replace your work.
For an existing change, Remove change opens a confirmation with Confirm removal and Keep change. Confirming saves the removal to your draft. It still needs to be published before visitors see it.
Share a support report
The Debugger menu offers Copy support report for a readable report. With Technical details on, it also offers Copy JSON. Include email is optional. Reports leave out profile values and credentials, but can still include private site information. Review them before sharing.
If clipboard access fails, you can select the report text in the menu. The report describes your debug session. To check an actual contact update, inspect your email platform. To confirm a publish, check your publish history.