Visitor Segments API Endpoint
The Visitor Segments endpoint allows developers to retrieve all active segments that a specific visitor belongs to. This data can be used to deliver targeted content based on visitor behavior and characteristics.
Endpoint Details
- URL:
/wp-json/personalizewp/v1/visitor-segments - Method: POST
- Content Type: application/json
Request Parameters
The request body should be a JSON object containing the following parameter:
| Parameter | Type | Required | Description |
|---|---|---|---|
uid |
string | Yes | The visitor's unique identifier |
Response
The endpoint returns an array of segment records that the visitor is a member of. Each segment record contains the following fields:
| Field | Type | Description |
|---|---|---|
id |
number | The segment's unique identifier |
name |
string | The segment's title |
type |
string | The segment's type |
Example Usage
Basic Request
This example shows how to fetch all segments for the current visitor:
javascript
( async () => {
const PWP = localStorage.getItem('pwp_tracked_user') || '';
const UID = (PWP) ? JSON.parse(PWP).id : null;
if (UID) {
const baseURL = '/wp-json/'; // This is available on frontend as "window.pwpSettings.root"
const namespace = 'personalizewp/v1/';
const endpoint = 'visitor-segments';
const response = await fetch( `${baseURL}${namespace}${endpoint}`, {
method: "POST",
cache: "no-cache",
headers: {
"Accept": "application/json, */*;q=0.1",
"Cache-Control": "no-cache, private",
"Content-type": "application/json",
"X-Requested-With": "XMLHttpRequest",
},
body: JSON.stringify({ uid: UID }),
});
if (response.ok){
const segments = await response.json();
console.log(segments);
}
}
})();
Practical Application
Once you have retrieved the visitor's segments, you can use this information to:
- Display Targeted Content: Show different content based on the segments the visitor belongs to
- Customize Product Recommendations: Tailor product recommendations based on segment membership
- Adjust UI Elements: Change UI elements or messaging based on visitor segments
- Personalize Offers: Show special offers or promotions to specific segments
Example: Checking if a Visitor Belongs to a Specific Segment
This example shows how to check if a visitor belongs to a specific segment (e.g., "Frequent Shopper") and take action based on that information:
javascript
( async () => {
const PWP = localStorage.getItem('pwp_tracked_user') || '';
const UID = (PWP) ? JSON.parse(PWP).id : null;
if (UID) {
const baseURL = '/wp-json/'; // Available as "window.pwpSettings.root"
const namespace = 'personalizewp/v1/';
const endpoint = 'visitor-segments';
const response = await fetch( `${baseURL}${namespace}${endpoint}`, {
method: "POST",
cache: "no-cache",
headers: {
"Accept": "application/json, */*;q=0.1",
"Cache-Control": "no-cache, private",
"Content-type": "application/json",
"X-Requested-With": "XMLHttpRequest",
},
body: JSON.stringify({ uid: UID }),
});
if (response.ok){
const segments = await response.json();
// Check if visitor belongs to "Frequent Shopper" segment
const isFrequentShopper = segments.some(segment => segment.name === 'Frequent Shopper');
if (isFrequentShopper) {
// Show special content or offers for frequent shoppers
document.querySelector('.special-offers').style.display = 'block';
}
}
}
})();
Common Use Cases
The Visitor Segments endpoint is particularly useful for:
- Creating personalized "Products For You" sections
- Showing different hero banners to different visitor segments
- Customizing navigation elements based on visitor interests
- Adjusting content priority based on visitor segments
- Implementing targeted calls-to-action
For a practical implementation example, see our guide on Creating a "Products For You" Block.
Notes
- Segments are dynamically calculated based on visitor behavior and characteristics
- A visitor can belong to multiple segments simultaneously
- Consider caching segment data for frequent requests to improve performance