Website surveys
Embed forms and launch surveys when visitors interact with your website.
Engage in Studio connects a survey form to a website campaign. Use an existing survey or create one from a template. Each campaign controls its placement, trigger, pages, audience, and frequency without changing the form's questions.
Set up a campaign
Open Engage → New campaign, choose an active survey, and select a placement:
- Inline embed puts the survey in a container on your page.
- Feedback button lets visitors open the survey themselves.
- Popup survey opens after time on page, a scroll percentage, or a custom event.
Add exact website origins, such as https://example.com. Include https://www.example.com
separately if you use both. Set the page path to /*, /pricing, or /checkout/*.
Choose all devices, desktop, or mobile, and a percentage of eligible visits.
Preview answers are never saved. Save a draft or publish the campaign, then open Installation and copy its snippet. Installation is detected when a published campaign is requested from an allowed origin on a matching page.
Install on your website
Replace CAMPAIGN_ID with the identifier in your installation snippet:
<script defer src="https://noonmark.dev/engage.js" data-campaign="CAMPAIGN_ID"></script>For an inline survey, also add this container where the questions should appear:
<div data-noonmark-embed="CAMPAIGN_ID"></div>Install each campaign snippet only once per page. If you have a Content Security
Policy, allow the Noonmark origin in script-src, connect-src, and frame-src.
Campaign frames allow only the website origins you configured.
Custom events
After the snippet loads, signal an action from your website:
window.NoonmarkEngage?.event("checkout_completed");The name must match the campaign's custom event. Events are used locally to decide when to open the survey; this is not a general website analytics tracker. For apps that change routes without loading a new page, the snippet checks the page path every second and resets its triggers when the path changes.
Frequency and consent
By default, eligibility and frequency are remembered in session storage. Automatic surveys are shown once in that tab's session; completed campaigns stay suppressed for that session. Feedback buttons can be reopened until the survey is completed. Only one popup is open at a time.
Remember visitors across sessions uses local storage. That campaign remains hidden until your website signals consent for persistent storage:
window.NoonmarkEngage?.consent(true);If your consent manager runs before the snippet, set window.NoonmarkEngageConsent = true
when consent is granted. Signal consent(false) when it is withdrawn: an open
campaign closes and its persistent frequency values are removed. A configured
cooldown applies after the survey is displayed or dismissed; a completed survey
stays suppressed while its stored completion marker remains.
If browser storage is unavailable, the snippet uses memory for the loaded page; frequency cannot persist after a page reload.
Responses and results
The Results tab shows the latest campaign responses and the page where each was collected. Query strings and fragments are excluded from page context. Responses use the same field validation, bot protection, inbox, exports, and configured integrations as the original form. Campaign displays and responses are counted once per survey visit, including when a request is retried.
Pause a campaign to stop new displays and submissions. Moving its form to another workspace also moves and pauses the campaign so its new workspace can review website settings before publishing again.
What did you think of this content?