It is Monday morning at a $20M GMV WooCommerce home-goods store and the retention manager is reading last week’s funnel in Google Analytics. Product detail page views: 180,000. Add-to-carts: 18,000. Purchases: 1,800. The Klaviyo dashboard tab shows $3,200 recovered from cart abandonment last week.
The browse-abandonment line on the same dashboard reads zero, because Klaviyo cannot reach browse-abandoners. No email was captured for them. They visited a product detail page, did not add to cart, and left. 162,000 visitors are invisible to email this week.
This is the audience that WooCommerce browse abandonment push notifications were built for. Web push opt-in fires at first qualified visit, not at cart-stage email-capture. That single timing difference means the browse-abandoner who never types an email address is still reachable.
A 3-message workflow with the right exit logic can convert 8–14% of them to add-to-cart, which on a 162,000-visitor week is a line item the retention team can defend at the next P&L review. The rest of this article walks through that workflow, the exact event instrumentation it needs on the WooCommerce stack, and the retention math at three list sizes.
- Browse abandonment is not cart abandonment is not session abandonment
- Why push is the only practical channel for browse abandonment
- The 3-message browse abandonment workflow
- The "still browsing" exit branch
- The related-products lever (Message 2)
- Browse-abandonment data on the WooCommerce stack
- Per-workflow analytics: read the funnel
- Bygg det i PushEngage Workflows
- Vad detta förändrar
Browse abandonment is not cart abandonment is not session abandonment
Definitional clarity, briefly, because the SERP confuses the three. Browse abandonment is a product detail page view without an add-to-cart inside thirty minutes. Cart abandonment is an add-to-cart without a checkout completion. Session abandonment is a visit that never reached a product detail page at all. Each one has a different trigger, a different audience size, and a different workflow.

The size difference is the headline. On a typical mid-market WooCommerce store, for every cart-abandoner there are five to eight browse-abandoners. The cart-abandonment funnel is well-served by email because the customer captured their address at checkout-attempt time. The browse-abandonment funnel is not served by email at all, because no email was captured. This is why product page abandonment recovery has been the quiet uneconomic part of most retention stacks. Push fixes the addressability problem because the opt-in event is a browser-native dialog that fires on the first qualified visit.
| Funnel stage | Trigger event | Typical weekly volume on a $20M GMV store | Inheriting workflow |
|---|---|---|---|
| Session abandonment | page_view (any page) | very high, noisy | none recommended |
| Övergivna webbläsningar | page_view on product detail with no add_to_cart in 30 min | 144,000 | the browse workflow in this article |
| Cart abandonment | add_to_cart with no purchase in 60 min | 18,000 | the cart-abandonment workflow |
Bläddringsworkflödet övergår till kundvagnsarbetsflödet i samma ögonblick som en kund som övergett bläddringen lägger till något i kundvagnen. Denna överlämning är viktig och ignoreras i det mesta av bläddringsinnehållet. De två arbetsflödena delar en händelsetaksonomi och kundvagnsarbetsflödet ärver en partiellt kvalificerad prenumerant från bläddringsworkflödet när den tredje kontakten landar.
Why push is the only practical channel for browse abandonment
E-post kräver en e-postadress. En kund som övergett bläddringen på en WooCommerce-webbplats har ännu ingen. PushEngage-opt-in-dialogen visas vid den andra sidvisningen eller efter en konfigurerbar engagemangssignal, och när den accepteras är prenumeranten nåbar under resten av enhetens livstid utan att du någonsin får deras adress. Detta är den operativa förutsättningen som gör automatiserad återhämtning av bläddring ekonomiskt lönsam. WooCommerce push-meddelanden når den anonyma besökaren på ett sätt som ingen annan kanal når till en acceptabel kostnad.
De andra alternativen har en ekonomi som inte överlever en P&L-granskning vid volymen för övergiven bläddring. Betald remarketing på Meta och Google Ads debiterar CPM-per-impression och slukar CAC-budgeten för varje kund som övergett bläddringen som du kontaktar igen, oavsett om de konverterar. SMS kräver ett telefonnummer, vilket är ännu mindre troligt än en e-postadress i bläddringsstadiet.
E-post kräver en e-postadress. Push, efter en enda opt-in, kostar nära noll per utskick. Med en WooCommerce-lista på 200 000 prenumeranter är marginalkostnaden för ett utskick vid övergiven bläddring effektivt den bråkdel av ett öre som push-tjänsteleverantören tar för leveransinfrastruktur, inte en avgift per meddelande.
Behållnings-/CAC-matematiken följer därifrån. För samma återvunna intäkter kostar automatiserad återhämtning av bläddring via push en bråkdel av den betalda remarketing-alternativet. Det är argumentet för posten, och den finns i WooCommerce-stacken eftersom WooCommerce-butiker tenderar att ha produktdetaljsidor som är välinstrumenterade för page_view-spårning direkt ur lådan.
The 3-message browse abandonment workflow
Här är hela arbetsflödet. Utlösare: en PushEngage anpassad händelse page_view filtrerad till produktdetaljsidor (där is_product = true) och där prenumeranten inte heller utlöste add_to_cart inom trettio minuter. Körningstyp: Flera parallella, så en prenumerant som bläddrar på fem olika produkter under en session kan ha fem samtidiga arbetsflödesinstanser, var och en riktad mot rätt produkt. Avslutningskriterier: mål add_to_cart (kundvagnsarbetsflödet ärver) eller purchase (ingen ytterligare meddelandehantering behövs).
Blueprint — The 3-message browse abandonment workflow
- START: Anpassad händelse
page_view, filteris_product = true, OCH ingenadd_to_cartfrån samma prenumerant inom 30 minuter - VÄNTA: 30 minuter
- BESLUT 1: är prenumeranten för närvarande aktiv på webbplatsen (flaggan session_activity satt inom de senaste 5 minuterna)?
- JA-sökväg: AVSLUT (avbryt inte en aktiv session; arbetsflödet omvärderas vid en ny utlösare)
- NEJ-sökväg: fortsätt
- ACTION (Message 1): Send web push reminding of the specific product viewed. Title: “Still thinking about {{event.data.product_title}}?” Body: “It is right where you left it. Tap to pick up.” URL: the product page URL. Image:
{{event.data.product_image}}. - WAIT: 4 hours
- DECISION 2: did the subscriber add the product to cart?
- YES path: EXIT (cart-abandonment workflow inherits)
- NEJ-sökväg: fortsätt
- ACTION (Message 2): Send web push with related products. Title: “You might also like these from our {{event.data.category}} collection.” Body: “Three picks similar to {{event.data.product_title}}.” URL: the WooCommerce category archive page. Image: the first related product image.
- WAIT: 48 hours
- ACTION (Message 3): Send web push with discount-discovery framing. Title: “Saved your eye on this one.” Body: “We held it for you with 10% off. Code: BROWSE10.” URL: the product page URL with the discount code pre-applied.
- SLUT
That is the entire browse abandonment workflow. Three messages, two waits with decisions, one silent exit branch, two goal-based exits. The product view notifications in Message 1 and Message 3 each push the original viewed product; Message 2 pivots to related products because by 4 hours after the browse, reminder fatigue is real and discovery is the lever that converts. The next two H2s go deep on the still-browsing exit and the related-products lever, because both of those are the largest unclaimed details on the SERP.
A note on the run type. Multiple Parallel is correct for browse abandonment because a single subscriber can browse-abandon five products in a forty-minute session and each one is its own workflow instance with its own product context. The PushEngage Workflows engine tracks the entry_flag timestamp per instance, so the five instances do not collide. If you set this workflow to Single instead, only one of the five products gets a recovery touch and the other four go silent.
The “still browsing” exit branch
This is the most-missed detail across every page-one result for the keyword. Most browse-abandonment articles tell you to message at the thirty-minute mark, full stop. That advice generates noise to active shoppers and erodes the channel. A subscriber who is still on the site at minute thirty-one does not need a notification about the product they are currently looking at. They need to be left alone to finish the session.
The DECISION node at the thirty-minute wait solves this. It reads a session_activity heartbeat attribute on the subscriber profile. If the attribute timestamp is within the last five minutes, the workflow exits silently. The subscriber is not penalized for being on the site. The next time they leave, the next product detail page view re-fires the trigger and starts a fresh workflow instance with up-to-date context. This is the single most important thing to add to a browse abandonment workflow that most teams ship without.
Implementeringen är lätt. PushEngage JavaScript SDK kan skicka en anpassad händelse för hjärtslag var femte minut medan sidan är i förgrunden, vilket skrivs till prenumerantattributet via Workflows-motorns UpdateAttribute-åtgärd. DECISION-nodens målgruppsfilter läser sedan subscriber.attributes.session_active_at och jämför mot now() - 5min. Målgruppsfiltret dokumenteras i PushEngage Workflows referens för beslut-logik.
Retentionsfallet för den fortfarande-bläddrande avslutningen är direkt. En anonym bläddrings-övergiven användare som fortfarande är på webbplatsen är en användare med aktiv avsikt, och ett push-meddelande är fel verktyg. Att låta dem slutföra sessionen bevarar kanalens leveransbarhetsvärde, håller avprenumerationsgraden låg och koncentrerar arbetsflödets sändningar till det segment där push faktiskt flyttar ett antal. Bläddringsåterställningsautomatisering lever eller dör av denna disciplin.
The related-products lever (Message 2)
Meddelande 2 skickar inte samma produkt som prenumeranten redan har tittat på. Det skickar en kurerad lista över relaterade produkter, eftersom fyra timmar efter den ursprungliga bläddringen har påminnelsetrötthet satt in och kunden antingen redan har kommit tillbaka eller inte kommer tillbaka för den specifika artikeln. Upptäckt är hävstången vid fyratimmarsmärket, inte påminnelse.
WooCommerce gör detta enkelt. Plattformen levererar wc_get_related_products som en inbyggd funktion kopplad till dess produktkatalog. Funktionen returnerar upp-försäljningar, korsförsäljningar och kategoriliknande produkter kopplade till den visade produkten. PushEngage WooCommerce-integrationspluginet kan skicka dessa till arbetsflödet som händelsedata-variabler, så att Meddelande 2:s avisering kan rendera de relaterade produkternas titlar, bilder och URL:er utan en separat API-anrop. En typisk Meddelande 2-textrad: "Du kanske också gillar dessa från vår {{event.data.category}}-kollektion."
Detta är den WooCommerce-specifika fördelen. Butiker på plattformar utan en inbyggd relaterad-produkter-katalog måste beräkna relateringen vid tidpunkten för arbetsflödesutlösning, vilket innebär en anpassad rekommendationstjänst. WooCommerce-butiker får detta gratis från plattformen. Mellanmarknads-WooCommerce-butiker med breda SKU-kataloger ser den största ökningen från Meddelande 2 eftersom ytan för relaterade produkter är tillräckligt bred för att hitta en andra produkt som prenumeranten faktiskt vill ha. Butiker med smala kataloger ser mindre ökning här och kan slå ihop Meddelande 2 och 3 till en enda rabatt-upptäckts-kontakt efter 24 timmar.
Mönstret spelar roll eftersom enbart påminnelse om bläddringsavbrott är standarden för SERP och dess konverteringstak är lågt. Att lägga till en upptäckts-kontakt ökar arbetsflödets återhämtade kundvagnsfrekvens med 30–50 % i butiker med en redan ifylld katalog för relaterade produkter, vilket de flesta WooCommerce-installationer har oavsett om marknadsföraren vet det eller inte.
Browse-abandonment data on the WooCommerce stack
Tre händelseingångar driver arbetsflödet. Här är var och en kommer ifrån och installationsordningen om du börjar från noll.
Händelse 1, page_view med product_id. Utlöses från PushEngage JavaScript SDK på varje produktdetaljsida. Minsta nyttolast är { event_name: 'page_view', product_id: '...' }; den rekommenderade nyttolasten inkluderar även product_title, product_image och category så att arbetsflödet kan rendera dem i Meddelande 1, 2 och 3 utan en andra API-anrop. Installera detta först eftersom utlösaren för webbplatsarbetsflödet är beroende av det.
Händelse 2, add_to_cart. Utlöses från WooCommerce-PushEngage integrationsplugin, som kopplar WordPress-åtgärden woocommerce_add_to_cart. Installera detta som nummer två eftersom arbetsflödets BESLUT 2 (och arbetsflödets avslutningskriterier) läser denna händelse. Om du fördröjer installationen av integrationspluginet körs webbplatsarbetsflödet fortfarande; det kan bara inte ärvas rent in i kundvagnsarbetsflödet.
Händelse 3, session_activity heartbeat. En anpassad händelse som utlöses av PushEngage SDK var femte minut medan sidan är i förgrunden. Uppdaterar prenumerantattributet session_active_at. Installera detta som nummer tre. Webbplatsarbetsflödet fungerar tillfredsställande utan det: 30-minuters väntan gäller fortfarande och Meddelande 1 utlöses fortfarande, men grenen för fortfarande-surfande kan inte utlösas och aktiva shoppare kommer ibland att få meddelanden mitt i sessionen. Detta är det valfria poleringssteget.
De flesta WooCommerce-butiker med PushEngage-pluginet installerat får händelserna 1 och 2 gratis under onboarding. Session_activity heartbeat är den valfria tredje händelsen som gör arbetsflödet från "bra" till "bäst på SERP". Butiker som skjuter upp ingenjörsarbetet kan driftsätta arbetsflödet med händelser 1 och 2 vecka ett och lägga till heartbeat vecka tre.
Per-workflow analytics: read the funnel
PushEngage Workflows spårar köade, slutförda och avslutade användare vid varje nod. För övergiven kundvagn i en WooCommerce-butik med 200 000 prenumeranter och cirka 30 000 sidvisningar av produktdetaljer per vecka (illustrativa siffror), ser tratten ut så här:
| Nod | Köad | Slutförd | Avslutad | Anteckningar |
|---|---|---|---|---|
| START (page_view-filter) | 0 | 28,000 | 0 | Prenumeranter som går in i arbetsflödet denna vecka |
| VÄNTA 30 minuter | 850 | 27,150 | 0 | Normal ködjup |
| BESLUT 1 (surfar fortfarande?) | 0 | 21,800 | 5,350 | 5 350 aktiva sessioner avslutades tyst |
| ÅTGÄRD Meddelande 1 | 0 | 21,800 | 0 | Påminnelse skickad |
| VÄNTA 4 timmar | 280 | 18,520 | 3,000 | 3 000 prenumeranter lade till i kundvagnen (kundvagnsarbetsflöde ärvs) |
| BESLUT 2 (tillagd i kundvagnen?) | 0 | 18,520 | 0 | Alla återstående surfar fortfarande bara |
| ÅTGÄRD Meddelande 2 | 0 | 18,520 | 0 | Relaterade produkter skickade |
| VÄNTA 48 timmar | 600 | 16,300 | 2,220 | 2 220 lades till i kundvagnen under de kommande två dagarna |
| ÅTGÄRD Meddelande 3 | 0 | 16,300 | 0 | Rabattupptäckt skickad |
| SLUT | ej | 16,300 | ej | Lades inte till i kundvagnen |
I denna tratt lade 5 220 prenumeranter (3 000 + 2 220) till i kundvagnen medan de var i webbläsarflödet, en konverteringsgrad från webbläsning till kundvagn på 18,6 % av de 28 000 som gick in. Av dessa tillägg till kundvagnen återhämtar flödet för övergivna kundvagnar ytterligare en bråkdel till köp. De höga avslutningsnoderna är de två väntetiderna, vilket är det förväntade mönstret: tid till beslut sker i väntetidsfönstren, inte i åtgärdsfönstren. Avslutningen vid BESLUT 1, där man fortfarande surfar, bidrar ytterligare 5 350 tyst avslutade aktiva sessioner; utan den grenen skulle dessa prenumeranter ha fått Meddelande 1 mitt i sessionen, vilket urholkar kanalen.
Matematiken för återvunnen intäkt skalar med liststorleken. Samma arbetsflöde på en lista med 50 000 prenumeranter ger ungefär en fjärdedel av dessa siffror; på en lista med 1 000 000 prenumeranter ger det ungefär fem gånger så mycket. Kostnaden per utskick förblir nära noll genomgående, vilket är kanalens strukturella fördel.
| Liststorlek | Veckovisa produktvisningar | Veckovisa övergivna webbläsare som går in i arbetsflödet | Veckovisa återhämtningar av tillägg till kundvagn (18,6 %) | Uppskattad återvunnen intäkt vid 85 USD AOV × 15 % konverteringsgrad |
|---|---|---|---|---|
| 50,000 | 7,500 | 7,000 | 1,300 | $16,600 |
| 200,000 | 30,000 | 28,000 | 5,220 | $66,500 |
| 1,000,000 | 150,000 | 140,000 | 26,000 | $331,500 |
Detta är riktningsgivande siffror; den faktiska ökningen för din butik beror på AOV, kategorimix och konverteringsgraden för återvunna tillägg till kundvagnen. Poängen är att matematiken ackumuleras med liststorleken till en kostnad per utskick som inte gör det.
Bygg det i PushEngage Workflows
Arbetsflödet för övergivna webbläsare mappas direkt till PushEngage Workflows-komponenter. Här är mappningen:
| Arbetsflödeskomponent | Nodtyper som används | Åtgärdstyper som används | Arbetsflödesalternativ |
|---|---|---|---|
| The 3-message browse abandonment workflow | START, VÄNTA, BESLUT, ÅTGÄRD, AVSLUT, SLUT | SendPushNotification | Körningstyp: Flera parallella; avsluta vid mål add_to_cart eller purchase |
Workflows-motorn levereras med över 60 färdiga mallar som täcker e-handelsflöden inklusive övergivna webbläsare och kundvagnar. Mallen för övergivna webbläsare är rätt utgångspunkt; klona den, byt ut dina WooCommerce-kategori- och produktvariabler, och arbetsflödet är live på under en timme inuti PushEngage Workflows-byggaren.
Vad detta förändrar
För en bredare kontext om hur detta arbetsflöde passar in i ett fullständigt WooCommerce-retentionsprogram, täcker hubben för e-handelspushnotiser de kampanjtyper som detta arbetsflöde implementerar, och det befintliga inlägget om kampanjer för övergivna webbläsare erbjuder en strategisk översikt för det bredare ämnet. Det systerarbetsflödet WooCommerce-arbetsflödet för övergivna kundvagnar är nästa naturliga steg när webbläsning är live; det ärver prenumeranten i det ögonblick Meddelande 1 eller Meddelande 2 driver ett tillägg till kundvagnen. PushEngage-återhämtningssekvensen för övergivna kundvagnar täcker playbook-detaljerna där. För team som kör push tillsammans med e-post i flera kanaler, tar inlägget push och e-post i flera kanaler upp orkestreringsfrågan.
Om du tar ett nummer från den här artikeln, ta 162 000. Det är den veckovisa publiken som överger webbläsaren på en enda WooCommerce-butik för 20 miljoner dollar i GMV, varav nästan ingen har en e-postadress du kan nå. E-post och SMS kommer inte att påverka denna publik. Betald remarketing kommer, till en CAC-kostnad som ackumuleras mot retention. WooCommerce push-meddelanden för övergiven webbläsning når samma publik till en kostnad nära noll per utskick, med ett arbetsflöde som levereras på en eftermiddag och en gren för utträde som fortfarande surfar som håller kanalen levererbar.
Retentionsmatematiken är det som gör posten försvarbar. Med en lista på 200 000 prenumeranter med ovanstående arbetsflöde är förväntad veckovis återvunnen intäkt i storleksordningen 66 500 dollar vid typiska medelmarknads-AOV. Det antalet skalar linjärt med liststorleken, och kostnaden per utskick förblir nära noll. Arbetsflöde för övergiven webbläsning först, arbetsflöde för övergiven kundvagn som ärver från det, och resten av WooCommerce-retentionsstacken som komponerar runt dem båda.
Gratisplanen ger dig 200 prenumeranter, alla kanaler och hela arbetsflödesmotorn från dag ett. Det räcker för att instrumentera page_view-händelsen, leverera arbetsflödet och övervaka tratten i en vecka innan du begär budgetposten. Börja med gratisplanen för att leverera Meddelande 1 i detta arbetsflöde före fredag.