AFI AFI

WPC Smart Wishlist for WooCommerce

Estimated reading: 2 minutes Updated August 1, 2026

WPC Smart Wishlist adds a lightweight AJAX wishlist to WooCommerce, working for both logged-in customers and guests. Advanced Form Integration captures wishlist additions and routes the data to any of 200+ destinations.

What you’ll need

  • WooCommerce and the WPC Smart Wishlist plugin installed and activated.
  • The wishlist button enabled on your product pages.
  • The Advanced Form Integration plugin installed and activated.

When the trigger fires

AFI registers a single Product Added To Wishlist trigger for WPC Smart Wishlist. It fires when a visitor adds a product to their wishlist.

Data captured

Field Field key Format
Product ID product_id Numeric ID
Product Name product_name Text
Product URL product_url Absolute URL
User ID user_id Numeric ID, empty for guests
User Email user_email Email address, empty for guests

Create the integration

  1. Go to WP Admin → AFI → Add New.
  2. Enter an Integration Title, e.g. WPC Smart Wishlist: Product Added To Wishlist → Mailchimp.
  3. In Trigger → Form/Data Provider, select WPC Smart Wishlist for WooCommerce.
  4. In Form/Task Name, choose Product Added To Wishlist.
  5. In Action → Platform, pick the destination and complete the field mapping.
  6. Optional: configure Conditional Logic so only matching events are sent.
  7. Click Save Integration.

Screenshot: AFI Add New screen with WPC Smart Wishlist selected as the Form/Data Provider

How AFI listens for wishlist activity

AFI hooks woosw_add, fired from the ajax_add() method in wpc-smart-wishlist.php. The plugin raises it at the end of the handler including on the failure path, where the product ID is reset to 0, so AFI guards against that case and dispatches only for a real product. Registration is guarded by defined( 'WOOSW_VERSION' ).

How the customer is identified

The hook passes an opaque wishlist key rather than a user ID. For a logged-in visitor that key is stored as their woosw_key user meta, so AFI resolves the owner with a reverse meta lookup. For guests the key is just a cookie value with no owning WordPress account, so User ID and User Email come back empty. That is expected behaviour, not a fault.

Troubleshooting

User Email is always empty

Your visitors are wishlisting as guests. Enable the plugin’s Disable for unauthenticated option, or add Conditional Logic so the integration only runs when User ID is not 0.

Removals do not fire

This trigger covers additions only.

Related docs