PersonalizeWP Pro allows you to track your visitors around your website and as it does so, it builds profiles for them based on their actions and behaviour.
Additionally, when a user completes a form on your site, using one of our integrations, you can map the data they enter to their profile, allowing you to build up a more complete picture of who they are.
With our Custom Profile Fields feature, you can customize visitor profiles by adding as many custom fields as needed. This allows you to map and store any information you choose and use that data to personalize the content you display to your visitors.
Adding Custom Profile Fields
You can add custom profile fields in the Settings section of PersonalizeWP. Click on the Visitor Profiles tab, and then add as many fields as you like by adding a label name and clicking on the Add New Field button. As you add them, they will appear below. You can remove them by clicking on the ‘X’.
Once you’ve added all the fields you need, click on Save Settings. This will add these fields to your Visitor Profiles ready to be used.
Map Data to Profile Fields
To use your Custom Profile Fields, you will need to map the data you collect from your visitors to those fields via a form on your site.
In the example screenshot below, we have created a form for our visitors that asks them to select their Branch, Pet Type and Pet Name which are the custom fields we have set up on this site. A visitor will then choose a value to enter in each of these fields.
We’re using Gravity Forms for our website form. We also support other form integrations, which you can find out more about on our Integrations page.
In the form settings, we can choose the PersonalizeWP option, and then map the data from each field to a specific Visitor Profile field. In our example below, we have mapped the Branch, Pet Type and Pet Name form fields to their relevant Profile fields.
Viewing Profile Fields
Once the data mapping is complete, any submissions for that form will then appear in the visitor’s profile. On this profile, we can see the data that the visitor entered into the form for each of our custom profile fields.
Using Profile Fields in the Sidebar
Once you have added custom profile fields to your WordPress site, you will then see a new option in the PersonalizeWP sidebar, allowing you to use your fields to show content blocks for personalization.
The Custom Profile Fields option allows you to choose a profile field from a dropdown:
And then when you have chosen an option, you can enter the value you want to match, In this example, we want to be able to show a content block to users if the value of their Pet Type profile field is ‘Dog‘.
You can add multiple content fields in this section, so that you could use Branch = ‘Letchworth‘ and Pet Type = ‘Dog‘ to further refine whether blocks are shown.
Using Profile Fields in Content
You can also display your profile field data in your block content, replacing generic content with personalized content if it exists. This option is built into our Displaying Visitor Profile Data feature in the Block Editor toolbar.
In the example below, we have selected the generic text ‘your pet’, clicked on the Profile icon in the toolbar and then selected the Custom Profile Field option. This then opens a modal with a dropdown of all your custom profile fields to choose from. In our example, we have selected Pet Name.
Once we click on Apply, the text is updated with a pink dashed line and the data type that is bound to this text, allowing you to see easily and clearly what text has personalization associated with it.
On the front-end website, if the visitor has data in the Pet Name field, then the generic text will replace this automatically – so for our example visitor profile, the text would be shown as ‘Rollo’. Visitors that have no data in this field will just be shown the generic text.
Data Storage
If you want to be able to extend the use of these fields, or to add your own functionality, then it is helpful to understand where the data is stored.
Within the WordPress database, Custom Profile Fields are stored as ‘profile_custom_fields‘ within the main personalizewp
option (an array of all settings), and stored within the main wp_options table.
The data for the custom fields is stored in the wp_pwp_pro_contacts_meta table, with the same format as wp_user_meta, i.e. a meta_key => meta_value setup.
Each field label is sanitised and prefixed with ‘custom_‘, allowing us to support purely numeric keys.