website logo
⌘K
Overview
Account
Settings
Integrations
Custom fields
Goals
Placeholders
Parsers (Data Parsing Engine)
Branding
Dashboard
Widgets
Widget types
Widget elements
Widget steps
Automations
Widget display options
A/B Testing
Personalization
Pages
Variations
Goals
Traffic split
Targeting
First Visit
First-page view
Last visit
Last page view
Visit history
Page view history
Click history
Widget history
Order history
UTM Paremeters
Query string
Fields
Referrer
Entry page
Cookie
Location
Browser
Device
OS
Locale
Visitor's time
Selector
Cart value
Cart size
Cart items
Customer tags
Placeholders
Client SDK
Website data
Docs powered by
Archbee

Client SDK

5min

Personizely exposes some Javascript methods to give you more flexibility in using it.

Identify API

ply.identifyVisitor(data)

This method returns a Promise.

data - object, containing information about the visitor and custom fields values. The object can have the following properties:

email - string, a valid email address firstName - string, visitor's first name lastName - string, visitor's last name phone - string, visitor's phone number companyName - string, visitor's company name companyTitle- string, visitor's company title marketingConsent- boolean, visitor's marketing consent status privacyConsent- boolean, visitor's privacy consent status address - string, visitor's address bio - string, visitor's bio customFieldValues - object, visitor's custom field's values

The custom field values object is an object where the keys are the custom fields id's which can be found on the Settings page and the values are the values of the respective fields for the current visitor.

For radio and select field types you need to make sure that the choice options are valid ones, so if you have a field named "Gender" with 2 options: Male, Female, you won't be able to save a different value than one of those two values. The checkbox type fields should receive a boolean value. The number type fields should receive a numeric value.

Example:

JS
|
ply.identifyVisitor({
  "email": "john@example.com",
  "firstName": "John",
  "lastName": "Doe",
  "phone": "+1665599555",
  "companyName": "Personizely",
  "companyTitle": "CEO",
  "marketingConsent": true,
  "privacyConsent": true,
  "address": "5th Avenue",
  "bio": "My bio",
  "customFieldValues": {
     "1": "Male"
   }
})


Goal Tracking API

ply.trackGoal(eventName, value)

This method is used to track custom goals.

eventName - string, the name of the event (this should be the name of an existing goal in your Personizely website settings). value - number, goal value in the currency of your website

For example, to track a purchase worth $100 on your site, you can use the following code on your thank-you page: ply.trackGoal('Purchase', 100)

Custom Event Tracking API

ply.trackEvent(eventName, value)

This method is used to track custom events.

eventName - string, the name of the event (this can be any arbitrary event name or the name of an existing goal in your Personizely). value - number, event value in the currency of your website (optional)

For example, to track an add to cart event worth $29 on your site, you can use the following code when a visitor adds a product to the cart: ply.trackEvent('Add to cart', 29)

Manual Widget Trigger

ply.showWidget(id, suppressRules)

This method is used to show up any widget indifferently of the triggers it has assigned to it.

id - integer, the id of the widget suppressRules - boolean, whether to suppress the widget rules

Website Data API

This method is used to set website data. The method can be called in two ways:

1st way:

ply.setData(data)

data - object, an object containing key-value data pairs, the values will be merged with the existing data object.

2nd way:

ply.setData(key, value)

key - string, the name of the key to be written to the data object. value - mixed, the value, can be string, boolean, number, null

For example, to add cart details to your website data you can use: ply.setData('cartSize', 5) to set a single value or:

ply.setData({cartSize: 5, cartValue: 99}) to set multiple values at once.

Updated 20 Sep 2023
Did this page help you?
PREVIOUS
Placeholders
NEXT
Website data
Docs powered by
Archbee
TABLE OF CONTENTS
Identify API
Goal Tracking API
Custom Event Tracking API
Manual Widget Trigger
Website Data API
Docs powered by
Archbee