Skip to main content
Problem Solver I
December 10, 2024
Solved

Track add to wishlist events?

Hi we have a wishlist, I was wondering if there is a way to track an “added to wishlist” event and therefore email people accordingly. We use woocommerce. 

 

 

Thank you 

 

 

    This topic has been closed for replies.
    Christiannoerbjerg
    2025 Champion
    December 12, 2024

    Hi ​@armedandgorgeous!

    Thank you for posting in the Community!

    Let’s go over a possible solution, that might work :-)

    Step 1: Confirm Your Wishlist Plugin or Feature:

    Identify the wishlist solution you're using with WooCommerce. Common plugins include:

    • YITH WooCommerce Wishlist
    • TI WooCommerce Wishlist
    • A custom-built wishlist feature

    Most plugins trigger actions (such as adding an item to a wishlist) that you can hook into with WordPress/WooCommerce.

    Step 2: Send Wishlist Events to Klaviyo:

    You can use Klaviyo’s Track API to send a custom "Added to Wishlist" event whenever a customer adds an item to their wishlist.

    Example Code to Send Event:

    Add this PHP code to your WooCommerce site's child theme's functions.php file or a custom plugin:

    function klaviyo_track_wishlist_event($product_id) { // Get product details $product = wc_get_product($product_id); $product_name = $product->get_name(); $product_url = $product->get_permalink(); $product_image = wp_get_attachment_url($product->get_image_id()); // Get the user's email (requires they are logged in or capture it another way) $user = wp_get_current_user(); $user_email = $user->user_email; // Prepare Klaviyo API payload $payload = array( "token" => "YOUR_PUBLIC_API_KEY", // Replace with your Klaviyo public API key "event" => "Added to Wishlist", "customer_properties" => array( "$email" => $user_email ), "properties" => array( "Product Name" => $product_name, "Product URL" => $product_url, "Product Image" => $product_image ), "time" => time() ); // Send the event to Klaviyo $response = wp_remote_post("https://a.klaviyo.com/api/track", array( 'method' => 'POST', 'headers' => array( 'Content-Type' => 'application/json' ), 'body' => json_encode($payload) )); } // Hook into your wishlist plugin's "add to wishlist" action add_action('yith_wcwl_added_to_wishlist', 'klaviyo_track_wishlist_event', 10, 1);

    What this does:

    • Hooks into your wishlist plugin's action (yith_wcwl_added_to_wishlist) to trigger the event whenever a product is added to the wishlist.
    • Sends the event to Klaviyo’s API with relevant product details (name, URL, image) and the user’s email.

    For other wishlist plugins:

    • Replace yith_wcwl_added_to_wishlist with the action provided by your specific plugin.
    • Check your plugin documentation for the correct hook to use.

    Step 3: Verify the Event in Klaviyo:

    1. Go to Analytics > Metrics in Klaviyo.
    2. Look for a new metric called "Added to Wishlist".
    3. Check the event data to ensure it includes the expected details (email, product name, URL, etc.).

    Step 4: Create a Flow to Target Wishlist Users:

    Once the event is being tracked in Klaviyo, you can build a flow to email users who add items to their wishlist.

    Steps to Create the Flow:

    1. Go to Flows in Klaviyo and click Create Flow.
    2. Select Create from Scratch.
    3. Set the flow trigger as Metric-Triggered Flow.
    4. Choose "Added to Wishlist" as the trigger.

    Hope that helps! :-) 

    Christian Nørbjerg Enger
    Partner & CPO
    Web: Segmento.dk
    LinkedIn: @christianfromsegmento
    Voldbjergvej 22b, 8240 Risskov

    3 replies

    Klaviyo Employee
    December 10, 2024

    If you added a custom form to the product page, you could use the JavaScript track call to send an event to the profile, with the product ID as an event property.

    https://developers.klaviyo.com/en/docs/javascript_api#track-events-and-actions

    retention
    Partner - Platinum
    2025 Champion
    December 10, 2024

    Hi ​@armedandgorgeous, if your wishlist tool doesn’t integrate with Klaviyo directly, then ​@saulblum method allows you to create your own custom events in Klaviyo.  For newcomers to custom events, I find this little academy quick guide on Klaviyo handy: 

    Joseph Hsieh // retentioncommerce.com // X: @retention
    Christiannoerbjerg
    Expert Problem Solver II
    2025 Champion
    December 12, 2024

    Hi ​@armedandgorgeous!

    Thank you for posting in the Community!

    Let’s go over a possible solution, that might work :-)

    Step 1: Confirm Your Wishlist Plugin or Feature:

    Identify the wishlist solution you're using with WooCommerce. Common plugins include:

    • YITH WooCommerce Wishlist
    • TI WooCommerce Wishlist
    • A custom-built wishlist feature

    Most plugins trigger actions (such as adding an item to a wishlist) that you can hook into with WordPress/WooCommerce.

    Step 2: Send Wishlist Events to Klaviyo:

    You can use Klaviyo’s Track API to send a custom "Added to Wishlist" event whenever a customer adds an item to their wishlist.

    Example Code to Send Event:

    Add this PHP code to your WooCommerce site's child theme's functions.php file or a custom plugin:

    function klaviyo_track_wishlist_event($product_id) { // Get product details $product = wc_get_product($product_id); $product_name = $product->get_name(); $product_url = $product->get_permalink(); $product_image = wp_get_attachment_url($product->get_image_id()); // Get the user's email (requires they are logged in or capture it another way) $user = wp_get_current_user(); $user_email = $user->user_email; // Prepare Klaviyo API payload $payload = array( "token" => "YOUR_PUBLIC_API_KEY", // Replace with your Klaviyo public API key "event" => "Added to Wishlist", "customer_properties" => array( "$email" => $user_email ), "properties" => array( "Product Name" => $product_name, "Product URL" => $product_url, "Product Image" => $product_image ), "time" => time() ); // Send the event to Klaviyo $response = wp_remote_post("https://a.klaviyo.com/api/track", array( 'method' => 'POST', 'headers' => array( 'Content-Type' => 'application/json' ), 'body' => json_encode($payload) )); } // Hook into your wishlist plugin's "add to wishlist" action add_action('yith_wcwl_added_to_wishlist', 'klaviyo_track_wishlist_event', 10, 1);

    What this does:

    • Hooks into your wishlist plugin's action (yith_wcwl_added_to_wishlist) to trigger the event whenever a product is added to the wishlist.
    • Sends the event to Klaviyo’s API with relevant product details (name, URL, image) and the user’s email.

    For other wishlist plugins:

    • Replace yith_wcwl_added_to_wishlist with the action provided by your specific plugin.
    • Check your plugin documentation for the correct hook to use.

    Step 3: Verify the Event in Klaviyo:

    1. Go to Analytics > Metrics in Klaviyo.
    2. Look for a new metric called "Added to Wishlist".
    3. Check the event data to ensure it includes the expected details (email, product name, URL, etc.).

    Step 4: Create a Flow to Target Wishlist Users:

    Once the event is being tracked in Klaviyo, you can build a flow to email users who add items to their wishlist.

    Steps to Create the Flow:

    1. Go to Flows in Klaviyo and click Create Flow.
    2. Select Create from Scratch.
    3. Set the flow trigger as Metric-Triggered Flow.
    4. Choose "Added to Wishlist" as the trigger.

    Hope that helps! :-) 

    Christian Nørbjerg Enger
    Partner & CPO
    Web: Segmento.dk
    LinkedIn: @christianfromsegmento
    Voldbjergvej 22b, 8240 Risskov