Skip to main content

Advanced Matching

Advanced matching allows Whop to match events to users more accurately by sending customer identifiers alongside the event.

Important: Unlike TikTok and Meta, Whop expects customer fields in plain text. HandL sends them unhashed by design. Do not hash emails or phone numbers before passing them.

How It Works

  1. Data Collection: When users fill out forms, HandL automatically captures customer details. Data is stored in localStorage with keys such as em (email) and ph (phone).
  2. Automatic Merging: Every call to HandL.sendWhopEvent() merges any stored customer values into the event payload. Fields you pass directly always override the stored values.
  3. External ID: Uses the first_handlID cookie as external_id. This is automatically generated on first visit.
  4. Full Name: When a first or last name is available, HandL composes name automatically.

Manual Data Collection

You can pass customer fields directly on any event:

HandL.sendWhopEvent('lead', {
    event_id: 'lead_8f21c0',
    email: 'visitor@example.com',
    first_name: 'Jane',
    last_name: 'Doe',
    phone: '+15551234567'
});

Advanced Matching Parameters

Whop supports the following identifiers (all sent as plain text):

ParameterDescriptionSource
emailUser's email addresslocalStorage.getItem('em')
first_nameUser's first namelocalStorage.getItem('fn')
last_nameUser's last namelocalStorage.getItem('ln')
nameFull nameComposed from first and last name
phoneUser's phone numberlocalStorage.getItem('ph')
cityUser's citylocalStorage.getItem('ct')
stateUser's statelocalStorage.getItem('st')
postal_codeUser's postal codelocalStorage.getItem('zp')
countryUser's countrylocalStorage.getItem('country')
external_idUnique identifierCookies.get('first_handlID')

Empty fields are dropped automatically and never sent.

Verification

To verify advanced matching is working:

  1. Open browser DevTools (F12)
  2. Go to the Network tab
  3. Filter for t.whop.tw
  4. Inspect the request payload and confirm your customer fields are present