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:

  1. Display Targeted Content: Show different content based on the segments the visitor belongs to
  2. Customize Product Recommendations: Tailor product recommendations based on segment membership
  3. Adjust UI Elements: Change UI elements or messaging based on visitor segments
  4. 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:

  1. Creating personalized "Products For You" sections
  2. Showing different hero banners to different visitor segments
  3. Customizing navigation elements based on visitor interests
  4. Adjusting content priority based on visitor segments
  5. 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

Still need help? Contact Us Contact Us