Referralbelöningar låter enkelt tills du själv jagar inlämningar, copy-pastar mejladresser och inser (igen) att hälften av “värvarna” använde engångsadresser.
Den här automationen för referralbelöningar träffar marknadschefer först, men grundare och byråägare känner av den också. Du vill att belöningar ska skickas snabbt, se proffsiga ut och inte läcka till fejkregistreringar.
Det här n8n-flödet validerar mejladresser, skapar en varumärkesanpassad kupongbild, skickar belöningen via Gmail och loggar allt i Google Sheets, så att du kan skala utan att behöva passa processen.
Så fungerar den här automationen
Hela n8n-flödet, från trigger till slutresultat:
n8n Workflow Template: Gmail + Google Sheets: verifierade tipsbelöningar
flowchart LR
subgraph sg0["Flow 1"]
direction LR
n0["<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/webhook.dark.svg' width='40' height='40' /></div><br/>Webhook Trigger"]
n1@{ icon: "mdi:swap-horizontal", form: "rounded", label: "IF Email Valid?", pos: "b", h: 48 }
n2@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Coupon Template", pos: "b", h: 48 }
n3@{ icon: "mdi:message-outline", form: "rounded", label: "Send Reward Email (Gmail)", pos: "b", h: 48 }
n4@{ icon: "mdi:database", form: "rounded", label: "Log to Google Sheets (Success)", pos: "b", h: 48 }
n5@{ icon: "mdi:message-outline", form: "rounded", label: "Send Invalid Email Notice", pos: "b", h: 48 }
n6@{ icon: "mdi:database", form: "rounded", label: "Log to Google Sheets (Failed)", pos: "b", h: 48 }
n7@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Verifi Email", pos: "b", h: 48 }
n8@{ icon: "mdi:cog", form: "rounded", label: "HTML/CSS to Image", pos: "b", h: 48 }
n7 --> n1
n1 --> n2
n1 --> n5
n0 --> n7
n8 --> n3
n2 --> n8
n5 --> n6
n3 --> n4
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 n1,n7 decision
class n4,n6 database
class n0 api
classDef customIcon fill:none,stroke:none
class n0 customIcon
Problemet: referralbelöningar blir röriga (snabbt)
Manuell hantering av belöningar ser oskyldigt ut när tipsen droppar in. Sedan drar en kampanj igång, antalet inskick ökar och du fastnar med samma noggranna steg om och om igen: kontrollera mejladressen, skapa en kod, formatera ett snyggt meddelande, skicka det och logga det någonstans för senare. Ett stressat utskick till en adress med stavfel slösar bort belöningen. Ett utskick till en engångsmejl lär folk att programmet är enkelt att utnyttja. Och utan strukturerad spårning kan du inte svara på enkla frågor som “Hur många verifierade belöningar skickade vi förra veckan?” utan att gräva i inkorgens sök.
Det växer snabbt. Här är var det oftast faller isär.
- Varje manuell kontroll skapar inkonsekvens, vilket gör att vissa får belöning och andra får “vi tittar på det”.
- Engångsmejl eller ogiltiga adresser slinker igenom, så belöningar läcker till lågkvalitativa eller bedrägliga inskick.
- Varumärkesintrycket försämras när kupongkoder skickas som ren text eller med spretig formatering.
- Rapportering blir ett slit eftersom “loggen” finns i någons huvud, i inkorgen eller i utspridda kalkylblad.
Lösningen: verifierade belöningar skickas automatiskt (och loggas)
Det här flödet gör referral-inskick till en strukturerad och repeterbar belöningspipeline. Det börjar när ditt referralformulär skickar en webhook till n8n (Typeform, Jotform, Tally, ett eget formulär – vad som helst som kan posta till en webhook). Flödet verifierar värvarens mejladress med VerifiEmail och skickar sedan inskicket vidare i rätt spår. Om mejlen blir godkänd förbereder det personliga kupongfält (inklusive en formaterad kod som “REF-JOHN1234”), genererar ett varumärkesanpassat kupongkort i HTML/CSS, konverterar det till en PNG-bild via HTMLCSStoImage och skickar ett proffsigt belöningsmejl via Gmail. Till sist loggar det en lyckad sändning i Google Sheets med tidsstämplar, kupongkod och bild-URL. Ogiltiga inskick får i stället ett artigt mejl, och även dessa missar loggas för analys.
Flödet börjar med att din formulärinlämning träffar webhooken. Därefter avgör mejlverifieringen “belöna” eller “avvisa”. Därifrån skapar “belöna”-spåret kupongbilden och mejlar ut den, och båda utfallen skriver en rad till Google Sheets så att du alltid har en revisionslogg.
Det du får: automation vs. resultat
| Det här flödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så kan det se ut
Säg att du får 30 referral-inskick på en vecka efter en promo-push. Manuellt, om det tar cirka 10 minuter per inskick att verifiera mejlen, skapa en kod, skicka ett någorlunda snyggt meddelande och logga det, blir det ungefär 5 timmar repetitivt arbete. Med det här flödet lägger du kanske 20 minuter en gång på att sätta upp kolumner i Sheetet och mejltexten, och sedan hanteras varje inskick automatiskt (verifiering + bildrendering + utskick). Du gör mest en snabb koll i Google Sheet efter avvikande fall, vilket oftast tar några minuter.
Det här behöver du
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Gmail för att skicka belönings- och fallback-mejl
- Google Sheets för att logga lyckade och misslyckade försök
- VerifiEmail API-nyckel (hämtas i din VerifiEmail-dashboard)
- HTMLCSStoImage API-nyckel (hämtas i ditt HTMLCSStoImage-konto)
Kunskapsnivå: Nybörjare. Du kopplar konton, klistrar in API-nycklar och testar några provinskick.
Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Ett referral-inskick träffar din webhook. Ditt formulär skickar värvarens uppgifter (namn, mejl, kampanj, värvad vän) till n8n via triggern “Incoming Webhook Intake”.
Mejlen verifieras innan belöningar skickas. VerifiEmail kontrollerar giltighet och flaggar engångsadresser eller inkorgar som inte finns. Sedan skickar ett “If”-villkor flödet till belöningsspåret eller spåret för ogiltig mejl.
Verifierade inskick blir en varumärkesanpassad belöning. n8n förbereder kupongfält, genererar kupongkortet i HTML/CSS, konverterar det till en PNG-bild och skickar ett proffsigt Gmail-meddelande som innehåller bilden plus en kupongkod som text för enkel kopiering.
Allt loggas för rapportering. Lyckade utskick skriver en rad i Google Sheets med tidsstämpel, kod och bild-URL. Misslyckade verifieringar loggas också (och användaren får ett artigt “skicka in igen”-mejl), så att du kan se mönster som återkommande stavfel eller en våg av engångsdomäner.
Du kan enkelt ändra formatet på kupongkoden så att det matchar ditt varumärke och justera mejlmallen efter dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera webhook-triggern
Konfigurera den inkommande webhooken som tar emot referral-inskick och startar arbetsflödet.
- Lägg till noden Incoming Webhook Intake och ställ in HTTP Method på
POST. - Ställ in Path på
referral-reward. - Ställ in Response Mode på
responseNode. - Koppla Incoming Webhook Intake till Verify Email Address som första bearbetningssteg.
responseNode, men det finns ingen svarsnod i det här arbetsflödet. Lägg till en svarsnod om ni behöver ett synkront svar till den som anropar webhooken.Steg 2: Anslut Google Sheets
Konfigurera båda Google Sheets-noderna för att logga lyckade och misslyckade valideringar.
- Öppna Record Success in Sheets och ställ in Operation på
appendOrUpdate. - Välj målarket genom att ställa in Document till
[YOUR_ID]och Sheet Name till[YOUR_ID]. - Bekräfta kolumnmappningen, inklusive Status till
Reward Sentoch Coupon Image URL till{{ $('Render Coupon Image').item.json.image_url }}. - Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Record Success in Sheets.
- Öppna Record Failure in Sheets, behåll Operation som
appendOrUpdateoch ställ in samma värden för Document och Sheet Name. - Bekräfta mappningen för fel med Status inställd på
Email Verification Failedoch referrer-fälten med{{ $('Incoming Webhook Intake').item.json.body.referrer_email }}och{{ $('Incoming Webhook Intake').item.json.body.referrer_name }}. - Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Record Failure in Sheets.
Referral_Reward_Tracker, med en Sheet1-flik för att matcha det befintliga schemat och undvika fel i mappningen.Steg 3: Sätt upp validering och kuponghantering
Verifiera referrer-e-post, förgrena baserat på valideringsstatus och förbered kupongdata och bild.
- I Verify Email Address, ställ in Email till
{{ $json.body.referrer_email }}. - Inloggningsuppgifter krävs: Anslut era verifiEmailApi-inloggningsuppgifter i Verify Email Address.
- I Validate Email Status, konfigurera det booleska villkoret med Value 1 inställt på
{{ $json.valid }}och Value 2 inställt på{{ true }}. - Routa utgången true från Validate Email Status till Prepare Coupon Fields och utgången false till Send Invalid Email Alert.
- I Prepare Coupon Fields, definiera fält för referrer_name, referrer_email och campaign med värden från
{{ $('Incoming Webhook Intake').item.json.body.referrer_name }},{{ $('Incoming Webhook Intake').item.json.body.referrer_email }}och{{ $('Incoming Webhook Intake').item.json.body.campaign }}. - Ställ in coupon_code till
=REF-{{ $('Incoming Webhook Intake').item.json.body.referrer_name.toUpperCase().slice(0,4) }}{{ Math.floor(Math.random()*9999) }}. - I Render Coupon Image, behåll HTML Content som den angivna mallen och säkerställ att referenser som
{{ $json.coupon_code }}och{{ $('Incoming Webhook Intake').item.json.body.campaign }}är intakta. - Inloggningsuppgifter krävs: Anslut era htmlcsstoimgApi-inloggningsuppgifter i Render Coupon Image.
- Observera att Unnamed finns som en oanvänd platshållarnod; lämna den frånkopplad om ni inte behöver en framtida expansionspunkt.
Steg 4: Konfigurera utdata och aviseringar
Skicka belöningsmejlet för giltiga referrals och en varning för ogiltiga adresser.
- I Dispatch Reward Email, ställ in Send To till
{{ $('Prepare Coupon Fields').item.json.referrer_email }}. - Behåll Subject som
🎁 Your Referral Reward Coupon is Here!och verifiera att HTML-meddelandet använder{{ $json.image_url }}och{{ $('Prepare Coupon Fields').item.json.coupon_code }}. - Inloggningsuppgifter krävs: Anslut era gmailOAuth2-inloggningsuppgifter i Dispatch Reward Email.
- I Send Invalid Email Alert, ställ in Send To till
[YOUR_EMAIL]och behåll ämnesradenReferral Submission - Email Verification Failed. - Inloggningsuppgifter krävs: Anslut era gmailOAuth2-inloggningsuppgifter i Send Invalid Email Alert.
[YOUR_EMAIL] i Send Invalid Email Alert med en riktig adress, annars kommer varningen inte att kunna skickas.Steg 5: Testa och aktivera ert arbetsflöde
Kör ett fullständigt test för att bekräfta att båda grenarna fungerar som förväntat och aktivera sedan arbetsflödet.
- Klicka på Execute Workflow och skicka en POST-begäran till URL:en för Incoming Webhook Intake med en JSON-body som innehåller
referrer_name,referrer_emailochcampaign. - Bekräfta att en giltig e-post går igenom Prepare Coupon Fields, Render Coupon Image och Dispatch Reward Email, och därefter loggas i Record Success in Sheets.
- Testa en ogiltig e-post för att bekräfta att false-grenen triggar Send Invalid Email Alert och loggas i Record Failure in Sheets.
- När testerna passerar, växla arbetsflödet till Active för att börja bearbeta inkomna inskick live.
Vanliga fallgropar
- Google-inloggningar (Gmail/Sheets) kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera: kolla n8n-skärmen “Credentials” och återautentisera Google-kopplingen först.
- Om du använder extern bildrendering (HTMLCSStoImage) varierar processingtiderna. Höj eventuella vänt-/retry-inställningar om nedströmsnoder fallerar för att bild-URL:en inte var klar än.
- Standardtexter och design för kuponger blir ofta generiska. Lägg in er tonalitet och kupongvillkor i HTML/CSS tidigt, för att redigera dussintals “nästan rätt”-mejl i efterhand är ärligt talat plågsamt.
Vanliga frågor
Cirka 20 minuter om din Gmail och Google Sheets är redo.
Nej. Du kopplar mest konton och klistrar in API-nycklar. Eventuella ändringar är enkla justeringar i mallar, inte “riktig kod”.
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 volymer. Du behöver också räkna med API-kostnader för VerifiEmail och HTMLCSStoImage (båda har gratisnivåer och därefter små avgifter per förfrågan).
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 serverhantering.
Ja, och det är en av de bästa delarna. Du kan ändra kuponglayouten genom att redigera HTML/CSS som används innan steget “Render Coupon Image”, och sedan låta resten av flödet vara oförändrat. Vanliga justeringar är att lägga in din logotyp, ändra färger för att matcha en kampanj, sätta tydligare villkor (“går ut om 14 dagar”) och justera formatet på kupongkoden i “Prepare Coupon Fields”.
Oftast är det en utgången Google OAuth-anslutning eller saknade Gmail-behörigheter i inloggningen. Anslut Gmail-inloggningen igen i n8n och bekräfta att sändarkontot är det du förväntar dig. Om det bara misslyckas ibland, kontrollera Googles sändningsgränser för den inkorgen, särskilt vid stora kampanjtoppar.
Många, så länge dina API-begränsningar tillåter det.
Ofta, ja, eftersom det här flödet har två “spår” (giltig vs. ogiltig), externa API-anrop och ett steg som renderar en bild – det är där enklare verktyg börjar kännas trånga eller dyra. n8n ger dig också mer kontroll över databearbetning (som att bygga kupongkoder och HTML) utan att du betalar extra för varje gren. Zapier eller Make kan fortfarande fungera om du håller det enkelt, som “validera och skicka ett vanligt mejl”. Om du vill ha varumärkesanpassade kupongbilder, strukturerad loggning och utrymme att växa är n8n ett mer flexibelt val. Prata med en automationsexpert om du vill ha en snabb rekommendation baserat på din volym.
Sätt upp det här en gång så slutar ditt referralprogram vara beroende av någons disciplin i inkorgen. Flödet tar hand om det repetitiva så att du kan fokusera på kampanjen, inte på efterarbetet.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.