Annullerade ordrar gör ont två gånger. Du tappar försäljningen och sedan slösar du tid på att gräva i Shopify, kopiera kunduppgifter och skicka “engångs”-WhatsApp-meddelanden som aldrig spåras ordentligt.
Shopify-butiksägare känner det direkt i dagsintäkterna. En marknadschef ser det som missade uppföljningar. Och customer success fastnar i att städa kalkylark. Den här automationslösningen för Shopify WhatsApp-spårning fixar det genom att först verifiera nummer, sedan skicka ett personligt återhämtningsmeddelande och logga varje utfall i Google Sheets.
Nedan ser du hur flödet körs, vad det förändrar i vardagen och vad du behöver för att få det live utan att göra det till ett “projekt”.
Så fungerar den här automationen
Se hur detta löser problemet:
n8n Workflow Template: Shopify + Google Sheets: spåra WhatsApp-återvinning
flowchart LR
subgraph sg0["Schedule Flow"]
direction LR
n0@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items", pos: "b", h: 48 }
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Get Specific Customer Data"]
n2@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Out", pos: "b", h: 48 }
n3["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Get All Cancelled Order"]
n4["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Get Product name with re-ord.."]
n5["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Get customer info"]
n6["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Get Customer Total Spent"]
n7@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger", pos: "b", h: 48 }
n8@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If", pos: "b", h: 48 }
n9@{ icon: "mdi:web", form: "rounded", label: "Rapiwa (verify number)", pos: "b", h: 48 }
n10@{ icon: "mdi:web", form: "rounded", label: "Rapiwa (sent message)", pos: "b", h: 48 }
n11@{ icon: "mdi:cog", form: "rounded", label: "Wait", pos: "b", h: 48 }
n12@{ icon: "mdi:database", form: "rounded", label: "Store State of Rows in Verif..", pos: "b", h: 48 }
n13@{ icon: "mdi:database", form: "rounded", label: "Store State of Rows in Unver..", pos: "b", h: 48 }
n8 --> n10
n8 --> n13
n11 --> n0
n2 --> n0
n0 --> n1
n7 --> n3
n5 --> n6
n10 --> n12
n9 --> n8
n3 --> n2
n6 --> n9
n1 --> n4
n4 --> n5
n12 --> n11
n13 --> n11
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n7 trigger
class n8 decision
class n12,n13 database
class n1,n3,n5,n9,n10 api
class n4,n6 code
classDef customIcon fill:none,stroke:none
class n1,n3,n4,n5,n6 customIcon
Utmaningen: återta annullerade ordrar utan gissningar
De flesta försök till “orderåterhämtning” faller isär i den röriga mitten. Du ser en annullerad order och börjar sedan stressa: hitta kunden, bekräfta numret, bestäm vad du ska erbjuda, skapa en omköpslänk, skicka ett meddelande och sen… ingenting. Ingen insyn. Nästa vecka kan du inte avgöra om WhatsApp-uppföljningar fungerar, om rabatten var för svag eller om hälften av numren var ogiltiga. Under tiden fortsätter teamet göra det manuellt eftersom det känns krångligt att sätta upp ett riktigt system.
Det blir snabbt mycket. Här är var det brister i riktiga butiker, inte i teorin.
- Du lägger cirka 10 minuter per annullerad order bara på att samla rätt detaljer och bygga ett vettigt meddelande.
- Meddelanden skickas till overifierade nummer, vilket betyder bortkastade rabatter, bortkastat arbete och obekväma uppföljningar.
- Det finns ingen pålitlig logg över “skickat vs. inte skickat”, så rapportering blir gissningar (eller tystnad).
- När volymen ökar slutar team antingen skicka återhämtningsmeddelanden eller skickar slarviga som inte matchar kunden eller varukorgen.
Lösningen: verifierad WhatsApp-återhämtning + spårning i Sheets
Det här flödet körs enligt schema och hämtar dina annullerade ordrar från Shopify automatiskt. För varje annullerad order bygger det “omköpspaketet” (kundnamn, produktnamn, en omköpslänk och en rabattkod), och kontrollerar sedan kundprofilen för att avgöra om ordern kvalificerar sig för din återhämtningsinsats. Därefter verifierar det WhatsApp-numret via Rapiwa innan något skickas, så du inte slösar tid på att ropa ut i tomma intet. Om numret är verifierat skickar det ett personligt WhatsApp-meddelande med din mall. Oavsett skriver det en strukturerad rad till Google Sheets så att du kan se vad som hände, när och varför.
Flödet startar med en tidsstyrd trigger och hämtning av Shopify-ordrar. Därifrån loopar det igenom annullerade ordrar i batchar, genererar kundspecifik meddelandedata och kör verifiering plus utskick via Rapiwa. Till sist blir Google Sheets din källa till sanning: “Verifierat & Skickat” vs. “Ej verifierat & Inte skickat”.
Vad som förändras: före vs. efter
| Det här tar bort | Effekten du ser |
|---|---|
|
|
Effekt i verkligheten
Säg att din butik har 10 annullerade ordrar per dag. Manuellt ser även en “snabb” process ut som 10 minuter per order mellan att kontrollera detaljer, verifiera ett nummer, skriva meddelandet, skicka det och logga något någonstans, vilket blir cirka 1,5 timme per dag. Med det här flödet sker trigger och bearbetning i bakgrunden, och du lägger främst några minuter på att granska Google Sheet och justera erbjudandet vid behov. Det är ungefär en timme tillbaka de flesta dagar, plus betydligt bättre spårning.
Krav
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Shopify för annullerade ordrar och kunddata.
- Rapiwa för att verifiera nummer och skicka WhatsApp-meddelanden.
- Google Sheets för att logga utfall “verifierat/skickat”.
- Shopify API-token (skapa den i Shopify Admin API-appar).
- Rapiwa Bearer-token (hämta den i din Rapiwa-dashboard).
Kompetensnivå: Medel. Du kopplar konton, klistrar in tokens i n8n-credentials och matchar Google Sheets-kolumnrubriker exakt.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Flödet steg för steg
En schemalagd kontroll av annullerade ordrar. Flödet körs dagligen eller veckovis (du bestämmer) och hämtar annullerade ordrar från Shopify så att inget faller mellan stolarna.
Kund- och orderdetaljer byggs ihop. Det hämtar relevant kundprofil och bygger meddelandekontexten, som produktnamn, rabattkod och omköpslänken som kunden faktiskt kan använda.
Kvalificering och WhatsApp-verifiering sker innan utskick. Ett spend-filter kan styra vem som får erbjudanden, och sedan verifierar Rapiwa WhatsApp-numret. Om verifieringen misslyckas skickar flödet inte meddelandet.
Meddelanden skickas och allt loggas. Verifierade nummer får återhämtningsmeddelandet via Rapiwa, och sedan loggar Google Sheets resultatet som “Verifierat & Skickat” eller “Ej verifierat & Inte skickat”. Ett kort väntesteg hjälper till med tempot, och därefter fortsätter det med nästa batch.
Du kan enkelt justera spend-filtret för att bara rikta dig mot VIP-kunder, eller ändra meddelandemallen för att matcha säsongserbjudanden efter dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: konfigurera den tidsstyrda automationstriggern
Ställ in workflow-schemat så att annullerade order kontrolleras automatiskt.
- Lägg till noden Timed Automation Trigger och ställ in schemaregeln till önskat intervall i Rule.
- Koppla Timed Automation Trigger till Retrieve Cancelled Orders för att starta datahämtningen vid varje körning.
Steg 2: anslut Shopify-datakällor
Hämta annullerade order och kundens orderhistorik från Shopify via HTTP-anrop.
- I Retrieve Cancelled Orders ställer ni URL till
https://your_shopify_domain/admin/api/2025-07/orders.json?customer_id=&status=cancelled. - Aktivera Send Headers och ställ in X-Shopify-Access-Token till
[CONFIGURE_YOUR_API_KEY]i Retrieve Cancelled Orders. - I Fetch Customer Order List ställer ni URL till
=https://your_shopify_domain/admin/api/2025-07/orders.json?customer_id={{ $json.customer.id }}&status=anyoch aktiverar Send Headers med samma Shopify-token. - I Fetch Customer Profile ställer ni URL till
=https://your_shopify_domain/admin/api/2025-07/customers/{{ $json.customerId }}.jsonoch aktiverar Send Headers med Shopify-token.
Steg 3: konfigurera orderparsning och kundfiltrering
Dela upp order i individuella poster, bygg ombeställningsdata och filtrera fram kvalificerade kunder.
- I Separate Orders ställer ni Field To Split Out till
orders. - Säkerställ att Separate Orders är kopplad till Batch Item Iterator, och att den andra utgången från Batch Item Iterator är kopplad till Fetch Customer Order List.
- Behåll JavaScript-koden i Build Reorder Details som den är för att generera värden för
customerId,phone,re_order_linkochproductsBought. - I Compute Spending Filter behåller ni den medföljande JavaScript-koden som filtrerar kunder där
total_spentär större än0.
Steg 4: verifiera och skicka WhatsApp-meddelanden
Verifiera kundens WhatsApp-nummer, förgrena baserat på verifieringen och skicka återhämtningsmeddelandet.
- I Verify WhatsApp Number ställer ni Operation till
verifyWhatsAppNumberoch Number till={{ $json.phone }}. - Inloggning krävs: Anslut era rapiwaApi-credentials i Verify WhatsApp Number.
- I Conditional Branch Check behåller ni den booleska villkorskontrollen med
={{ $json.exists }}för att routa verifierade nummer. - I Dispatch WhatsApp Message ställer ni Number till
={{ $json.jid }}och behåller meddelandetexten med uttryck som refererar till{{ $('Build Reorder Details').item.json.name }}och{{ $('Build Reorder Details').item.json.re_order_link }}. - Inloggning krävs: Anslut era rapiwaApi-credentials i Dispatch WhatsApp Message.
Steg 5: logga resultat och styr batch-timing
Logga verifierade och overifierade utskick till Google Sheets och tempojustera workflowet.
- I Log Verified Sends ställer ni Operation till
append, Document ID till[YOUR_ID]och Sheet Name tillgid=0. - Mappa kolumner i Log Verified Sends med uttryck som
={{ $('Build Reorder Details').item.json.name }},={{ $('Build Reorder Details').item.json.phone }}och={{ $('Build Reorder Details').item.json.re_order_link }}. - Inloggning krävs: Anslut era googleSheetsOAuth2Api-credentials i Log Verified Sends.
- I Log Unverified Attempts behåller ni Operation som
appendoch ställer validity tillunverifiedi kolumnmappningen. - Inloggning krävs: Anslut era googleSheetsOAuth2Api-credentials i Log Unverified Attempts.
- Koppla både Log Verified Sends och Log Unverified Attempts till Delay Execution Step, och koppla sedan Delay Execution Step till Batch Item Iterator för kontrollerad batchning.
Steg 6: testa och aktivera ert workflow
Validera hela flödet end-to-end innan ni aktiverar schemat.
- Klicka på Execute Workflow för att köra ett manuellt test och bekräfta att Retrieve Cancelled Orders returnerar data.
- Verifiera att Build Reorder Details returnerar fälten
name,phoneochre_order_linkför varje kund. - Bekräfta att verifierade nummer routas via Conditional Branch Check till Dispatch WhatsApp Message och visas i Log Verified Sends.
- Slå på workflowet med reglaget Active för att köra det enligt schema.
Saker att se upp med
- Shopify-credentials kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera först scopes för din Admin API-app (orders och customers) samt tokenstatus.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
- Google Sheets-kolumnrubriker måste matcha exakt. Extra mellanslag och fel versalisering är ärligt talat den vanligaste orsaken till att dina loggar “försvinner”.
Vanliga frågor
Oftast ungefär en timme om dina tokens och ditt Sheet är redo.
Ja, men du vill ha någon som är bekväm med att copy-pasta API-tokens och dubbelkolla rubriker i kalkylark. Ingen kodning krävs för standardupplägget.
Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna in Rapiwa-kostnader baserat på hur många verifieringar och meddelanden du skickar.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serveradministration.
Det kan du. Byt logiken i spend-filtret i steget “Compute Spending Filter” för att rikta dig mot VIP-kunder, förstagångsköpare eller kunder över en viss livstidsomsättning. De flesta butiker anpassar också WhatsApp-mallen som används i steget “Dispatch WhatsApp Message” för att matcha tonalitet, erbjudandetyp och länkformat. Om ditt team föredrar en annan verifieringsleverantör kan du ersätta Rapiwa-verifieringen med en HTTP Request-nod som anropar den tjänst du väljer.
Oftast beror det på en utgången eller felaktig Bearer-token i dina n8n-credentials. Om verifieringen fungerar men utskicket misslyckas, kontrollera dina Rapiwa-mallinställningar och bekräfta att telefonnummerformatet du skickar från Shopify är i förväntat internationellt format. Rate limiting kan också dyka upp när du bearbetar stora batchar; att minska batchstorleken och lägga in en lite längre väntetid stabiliserar ofta.
På n8n Cloud beror kapaciteten främst på din plans månatliga körningar, och vid self-hosting beror det på din server. I praktiken kör de flesta butiker detta dagligen i batchar utan problem så länge du temporeglerar anropen och håller batchstorlekarna rimliga.
Ofta, ja, eftersom det här flödet behöver förgrening (verifierat vs. ej verifierat), batchning för att undvika rate limits och ett konsekvent loggningsupplägg som håller över tid. n8n gör det enklare att underhålla utan att betala extra för varje “väg” eller varje extra steg. Zapier eller Make kan fortfarande fungera om du håller det väldigt enkelt, men du kan behöva dela upp logiken över flera zaps/scenarier. Ärligt talat: så fort du bryr dig om verifiering och pålitlig rapportering brukar n8n kännas lugnare. Prata med en automationsexpert om du vill ha en snabb rekommendation baserat på din volym.
Resultatet blir färre tappade affärer, färre manuella uppföljningar och ett Google Sheet som visar vad som faktiskt hände. Sätt det en gång och låt flödet sköta det repetitiva, så kan du fokusera på att förbättra erbjudandet och kundupplevelsen.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.