Reveal Method
Identify a website visitor and merge their anonymous session into a Waymore contact using waymore.reveal().
Use waymore.reveal() to identify a website visitor and link their current session to a Waymore contact. Waymore stores the user details you pass and merges anonymous activity from the last 30 days into the contact profile.
Call reveal after signup, login, or any moment you know who the visitor is — for example when they submit a form or complete checkout.
Method signature
waymore.reveal(userInfo)
// or, in frontend frameworks:
window.waymore.reveal(userInfo)In plain HTML you can call waymore.reveal() directly. In React, Vue, Angular, and similar frameworks, use window.waymore.reveal() so the SDK is resolved on the global object.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
userInfo | Object | Yes | Contact details for the visitor. Must include email; all other fields are optional. |
userInfo properties
userInfo properties| Property | Type | Required | Description |
|---|---|---|---|
email | String | Yes | Email address of the user |
mobile | String | No | Mobile phone number |
landline | String | No | Landline phone number |
pushtoken | String | No | Push notification token |
facebookID | String | No | Facebook user ID |
groupName | String | No | Contact group to add the visitor to |
firstname | String | No | First name |
lastname | String | No | Last name |
middleName | String | No | Middle name |
gender | String | No | Gender |
address | String | No | Street address |
zip | String | No | ZIP / postal code |
city | String | No | City |
country | String | No | Country |
currency | String | No | Currency |
gdprPolicySMS | String | No | GDPR policy for SMS: blacklisted, greylisted, or whitelisted |
gdprPolicyViber | String | No | GDPR policy for Viber |
gdprPolicyVoice | String | No | GDPR policy for Voice |
gdprPolicyWhatsApp | String | No | GDPR policy for WhatsApp |
gdprPolicyFacebok | String | No | GDPR policy for Facebook |
gdprPolicyPush | String | No | GDPR policy for Push |
Properties not listed above are ignored.
Basic example
waymore.reveal({
email: "[email protected]",
firstname: "Test",
lastname: "Developer"
});HTML form example
Add the Waymore.js tracking snippet, then call reveal when the user submits their details:
<!-- Waymore web service script start -->
<script type="module">
!function (e) {
let t=document,a=window,o=t.createElement("link"),s=t.createElement("script"),r=t.body,i=t.head;
o.type="text/css";o.rel="stylesheet";o.href="https://cdn0.routee.net/sdk/dist/latest/waymore.min.css";
i.appendChild(o);s.src="https://cdn0.routee.net/sdk/dist/latest/waymore.min.js";i.appendChild(s);let p;(p = a).addEventListener("load",()=>{
if("routee"in p)e(p);else{let tnc=0,iId=a.setInterval(()=>{("routee"in p||tnc>20)&&(clearInterval(iId),e(p)),tnc++},500)}
});
}(function (r) {
r.routee.initialize({
routeeToken: "$UUID_HERE", // your Routee token
});
});
</script>
<!-- Waymore web service script stop -->
<label for="email">Email:</label>
<input type="text" id="email" name="email"><br>
<label for="fname">First name:</label>
<input type="text" id="fname" name="fname"><br>
<label for="lname">Last name:</label>
<input type="text" id="lname" name="lname"><br>
<button id="submit_btn">Submit</button>
<script>
document.getElementById("submit_btn")?.addEventListener("click", function () {
waymore.reveal({
email: document.getElementById("email").value,
firstname: document.getElementById("fname").value,
lastname: document.getElementById("lname").value,
});
});
</script>How anonymous activity merges
Before reveal, Waymore tracks page views and custom events under a temporary anonymous_id. When you call waymore.reveal():
- The visitor is identified as a contact (created if they do not exist, updated if they do).
- Anonymous events from the last 30 days are merged into the contact profile.
- Events from the last 72 hours can trigger campaigns immediately after merge.
- After reveal, new events are tracked directly on the contact.
Call reveal as soon as you have a valid email — typically right after signup or login — so pre-conversion activity is not lost.
Best practices
- Always pass a valid email; reveal fails without it.
- Call reveal immediately after signup or login.
- Do not pass unsupported fields — they are silently ignored.
- Pair reveal with Track Method to capture custom events before and after identification.
Related

