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

ParameterTypeRequiredDescription
userInfoObjectYesContact details for the visitor. Must include email; all other fields are optional.

userInfo properties

PropertyTypeRequiredDescription
emailStringYesEmail address of the user
mobileStringNoMobile phone number
landlineStringNoLandline phone number
pushtokenStringNoPush notification token
facebookIDStringNoFacebook user ID
groupNameStringNoContact group to add the visitor to
firstnameStringNoFirst name
lastnameStringNoLast name
middleNameStringNoMiddle name
genderStringNoGender
addressStringNoStreet address
zipStringNoZIP / postal code
cityStringNoCity
countryStringNoCountry
currencyStringNoCurrency
gdprPolicySMSStringNoGDPR policy for SMS: blacklisted, greylisted, or whitelisted
gdprPolicyViberStringNoGDPR policy for Viber
gdprPolicyVoiceStringNoGDPR policy for Voice
gdprPolicyWhatsAppStringNoGDPR policy for WhatsApp
gdprPolicyFacebokStringNoGDPR policy for Facebook
gdprPolicyPushStringNoGDPR 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():

  1. The visitor is identified as a contact (created if they do not exist, updated if they do).
  2. Anonymous events from the last 30 days are merged into the contact profile.
  3. Events from the last 72 hours can trigger campaigns immediately after merge.
  4. 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

Waymore.js tracking snippet · Track Method · Sessions