Which wishlist events does Wishlist Hero fire?

This is the complete catalog of wishlist events, grouped by destination: Klaviyo onsite events, Klaviyo and Omnisend server triggers, pixel events, storefront document events, and the internal action log. Use it to wire tracking, build flows, and answer “does the app fire an event when…” without reading source.

Plan gates: Klaviyo onsite events and pixel events require Silver and above, and each has its own enable toggle in the app.

Klaviyo onsite events

Sent client side from your storefront through Klaviyo’s onsite script, attached to the logged in shopper’s Klaviyo profile. Enabled by Enable Klaviyo Onsite Tracking.

Metric name Trigger
Added To Wishlist (WH) Shopper saves a product
Removed From Wishlist (WH) Shopper un-saves a product
Cleared Wishlist (WH) Shopper empties the list with Remove All

Event properties:

Property Type Contents
Name string Product title
ImageURL string Product image URL
URL string Absolute product URL
Price number Price at event time
PriceFormatted string Price formatted with currency
CurrencyCode string Store currency
ProductID string Shopify product ID
VariantID string Shopify variant ID
SKU string Variant SKU
Vendor string Product vendor
Tags string[] Product tags
Quantity number Always 1
WishlistProductIDs string[] All products in the list after the action
WishlistUrl string Link to the shopper’s wishlist
CategoryViewed string Product type or category, when available

The same calls send a Klaviyo identify  with two profile properties: MyWishlistProductIDs  (array) and MyWishlistLink  (wishlist URL).

Klaviyo and Omnisend server triggers

Fired server side instead of app sent emails when Klaviyo or Omnisend is the selected email provider. Event names are identical on both platforms:

Event name Fires when
Wishlisthero-pricedrop Reminder engine: wishlisted product dropped past your percentage
Wishlisthero-lowstock Reminder engine: wishlisted product fell under your stock threshold
Wishlisthero-sharewishlist A shopper shares a wishlist by email
Wishlisthero-testconnection You run the provider connection test

Reminder payload:

Property Contents
ProductsCount Number of products in this reminder
Products Array of: ProductID, ProductName, ProductPrice, ProductStock, ProductQuantity, VariantID, ProductURL, ImageURL
WishlistHash The shopper’s wishlist hash
EventTime ISO timestamp
First product fields Also copied to the top level for single product emails

The trigger profile is the shopper’s email. Share payload adds: SenderName , SenderEmail , ReceiverEmail , ShareURL , SenderMessage , with the receiver as the profile.

Pixel events

All three fire the platform’s standard wishlist event, guarded by the presence of the platform’s own script on your storefront:

Platform Call Key properties
Meta Pixel fbq("track", "AddToWishlist", …) content_name, content_category, content_ids, contents, currency, value, content_type: "product"
Google Analytics 4 gtag("event", "add_to_wishlist", …) currency, value, items array with item_id, item_name, item_brand, item_category, item_variant, price, quantity
TikTok Pixel ttq.track("AddToWishlist", …) content_type: "product", currency, value, contents with content_id, content_name, content_brand, content_category, content_variant_id, price, quantity

Enable each from its settings page: Meta Pixel, Google Tag, and TikTok Pixel under Settings. They use the pixel already installed by your Facebook, Google, and TikTok channels; no pixel ID is entered in Wishlist Hero.

Storefront document events

The storefront app dispatches custom events on document . Listen with document.addEventListener . Names are stable strings, all prefixed wishlist-hero- :

Event Meaning
wishlist-hero-wishlist-sdk-ready The SDK object finished loading
wishlist-hero-wishlist-updated The wishlist changed (add, delete, clear, server reload)
wishlist-hero-wishlist-show Request to open the wishlist
wishlist-hero-open-popup Request to open the wishlist popup
wishlist-hero-open-login-popup Request to show the login popup
wishlist-hero-open-share-popup Request to open the share popup
wishlist-hero-add-to-custom-element A custom button element was initialized
wishlist-hero-cart-updated Add to cart from the wishlist completed
wishlist-hero-wishlist-hash The wishlist hash changed or became known
wishlist-hero-wishlist-hash-generated A new guest wishlist hash was created
wishlist-hero-wishlist-hash-create Request to create a wishlist
wishlist-hero-wishlist-items-count Items count changed
wishlist-hero-wishlist-items Local items snapshot changed
wishlist-hero-wishlist-items-from-server Server items arrived
wishlist-hero-wishlist-load-items Request to reload items
wishlist-hero-wishlist-add-item Request to add an item
wishlist-hero-wishlist-delete-item Request to delete an item
wishlist-hero-wishlist-delete-all-items Request to clear the list
wishlist-hero-reload-from-server Request to resync from the server
wishlist-hero-links-binded Internal: wishlist links were bound on the page
wishlist-hero-customer-id The logged in customer ID became known

Example:

document.addEventListener("wishlist-hero-wishlist-updated", (event) => {
  console.log("wishlist changed", event.detail);
});

The app also re-dispatches Shopify’s ajaxProduct:added  theme event after a wishlist add to cart, so theme cart drawers refresh as they do for normal adds.

The internal action log

Independent of all the above, the admin records every action as one of four types, which power the dashboard, reports, and exports:

Action type Meaning
Added To Wishlist A save
Removed From Wishlist An un-save
New Wishlist First save that created a list
Added To Cart Item moved to the cart from the wishlist

There are no order or checkout events: order attribution is out of scope for these events by design. See How activity is tracked for the reporting model.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us