Visitor fields reference
Every Personizely visitor has a profile made of default fields, listed on this page, plus any Custom fields you create. Default fields fall into three groups: form fields the visitor gives you (email, name, consents), tracking fields Personizely records about how they arrived (UTMs, referrer, entry page), and location fields set from their IP address. This reference lists each field's ID, type and source, and where you can use it.
Available on: all platforms.
Form fields
These can be collected by Form element, sent with ply.identifyVisitor, filled by Parsers (data parsing engine), or copied from Shopify and your email platform when a visitor is Identifying visitors.
Field | ID | Type | Notes |
|---|---|---|---|
Must be a valid address. Identifies the visitor and merges profiles with the same email | |||
First name | firstName | text | |
Last name | lastName | text | |
Company name | companyName | text | |
Company title | companyTitle | text | Job title |
Phone | phone | phone | Converted to international format using the visitor's country when entered without a country code. Merges profiles with the same phone |
Address | address | text | |
Marketing consent - Email and SMS | marketingConsent | checkbox | One consent covering both channels |
Email marketing consent | emailMarketingConsent | checkbox | |
SMS marketing consent | smsMarketingConsent | checkbox | |
Privacy consent | privacyConsent | checkbox | Acceptance of your privacy policy or terms |
Birthdate | birthdate | date | YYYY-MM-DD, between 1900-01-01 and today |
Bio | bio | textarea | Free text |
Tracking fields
Personizely fills these automatically as the visitor browses.
Field | ID | Type | Value |
|---|---|---|---|
UTM Source | utmSource | text | The visitor's stored utm_source |
UTM Medium | utmMedium | text | The visitor's stored utm_medium |
UTM Campaign | utmCampaign | text | The visitor's stored utm_campaign |
UTM Term | utmTerm | text | The visitor's stored utm_term |
UTM Content | utmContent | text | The visitor's stored utm_content |
First visited page | firstVisitPage | text | Path of the first page the visitor ever viewed, without domain or query string. Never changes |
Referrer | referrer | text | Full URL of the first external site that sent the visitor. Never changes once set |
Each UTM field is updated whenever that parameter appears in a URL the visitor opens, and keeps its value otherwise. See Remembered traffic-source values. Values longer than 255 characters are cut to 255.
Location fields
Set from the visitor's IP address when their profile is created.
Field | ID | Type | Value |
|---|---|---|---|
Country | country | text | Two-letter ISO country code, such as US or DE |
City | city | text | City name in English |
Region | region | text | Region (state, province) code |
Zip code | zipCode | text | Postal code |
Location fields appear in Contacts and form submissions, contact exports and Send webhook automation payloads. To target by location, use the Location filter filter, which checks where the visitor is now. To show the visitor's location on the page, use {geo.country}, {geo.countryName}, {geo.region} or {geo.city} Dynamic text (personalization variables).
Where you can use visitor fields
Where | Form fields | Tracking fields | Custom fields |
|---|---|---|---|
Visitor fields filter filter | Yes | Yes | Yes |
{visitor.firstName} etc. | {visitor.utmSource} etc. | {visitor.customField[ID]} | |
Widget forms | Yes | No | Yes |
ply.identifyVisitor | Yes | No | Yes, in customFieldValues |
Parsers (destination Visitor) | Yes | No | Yes |
Contacts, exports, webhooks | Yes | Yes | Yes |
The dedicated filters UTM parameters filter, Referrer filter and Entry page filter read the same tracking values as the Visitor fields filter. Use whichever reads more clearly in your target.
Behavior details and limitations
- Form fields are empty until the visitor is identified. An anonymous visitor matches is empty and is not checked for every form field.
- Values replace earlier values. A new form submission with a different first name overwrites the old one.
- Consent fields record consent; they don't enforce it. Personizely passes them to your integrations. How the snippet itself handles cookies depends on consent.
- Text matching is exact and case-sensitive in the Visitor fields filter.
- Location is a snapshot. Location fields describe where the visitor was when their profile was created. The Location filter and {geo.*} use their current location.
Examples
- Hide signup popups from subscribers: a don't match group with Visitor fields "Email is not empty".
- Greet by name: "Hi {visitor.firstName or 'there'}, your cart is waiting" in a widget headline.
- Consent-aware SMS offer: Visitor fields "SMS marketing consent is not checked" and "Email is not empty", to offer SMS signup to known email subscribers.