Supabase på dina landningssidor
Seriösa leadgen-aktörer vill till slut ha rådatan i en databas de själva styr: för att koppla ihop leads med annonskostnad, köra SQL på leadkvalitet, mata en köparportal eller en säljapp. Att bygga endpointen som tar emot leadsen är den del som brukar fastna, eftersom någon måste skriva den och hålla den igång.
Supabase tar bort den delen. Varje tabell har redan en REST-endpoint, och LanderLabs webhook postar varje lead till den som en platt uppsättning kolumnnamn och värden. Postgres lägger in raden, Row Level Security avgör vad anropet får göra, och leadet finns i din databas med kampanjen och varianten på sig.
En Postgres-rad per lead, i ditt schema
Anropets body är platt, en nyckel per kolumn, så varje lead blir en rad med typade kolumner, en created_at-tidsstämpel från kolumnens standardvärde och ett id som dina andra system kan referera till. Nycklar som inte matchar någon kolumn avvisas, vilket håller lösa data borta från tabellen.
Eftersom det är Postgres är raden redo för allt som SQL gör: en vy över leads per kampanj och dag, en join mot din kostnadstabell, ett unikt index på e-post om du hellre vill avvisa upprepade inskick än lagra dem två gånger.
Låst med Row Level Security
Webhooken skriver med ditt projekts publishable key, och Row Level Security avgör vad den nyckeln får göra. Tillåt inserts i leadtabellen och inget annat, så kan nyckeln lägga till leads men aldrig läsa, ändra eller radera dem, och leaddatan förblir utom räckhåll trots att nyckeln inte är hemlig.
Den hemliga nyckeln, som kringgår Row Level Security, behöver aldrig lämna din egen backend: ett leadformulär behöver den inte.
Din egen sanningskälla för leadkvalitet
Sidbyggare, CRM-system och trackers har var och en en del av historien. En tabell i Supabase med varje lead och dess utm_campaign, klick-ID, landningssida och variant är den del du styr över. Läs in den dagliga annonskostnaden i en andra tabell så ger en SQL-vy kostnad per lead per kampanj och variant; lägg till utfallen som dina köpare eller säljare registrerar så ger den kostnad per försäljning.
Det är det ärliga sättet att avgöra ett splittest: inte vilken variant som fick flest ifyllda formulär, utan vilken variants leads som blev pengar.
Leads som överlever en misslyckad insert
Varje lead sparas också i LanderLabs flik Leads, filtrerbart på datum och variant och exporterbart som CSV från Grow och uppåt, om inte ”Regelefterlevnad vid leadleverans” är påslaget. Om en insert någon gång misslyckas, till exempel efter att en kolumn har bytt namn, är leadet inte borta: rätta tabellen och fyll på i efterhand från exporten. Skicka i stället via LanderLabs Arbetsflöden (beta) så visar vyn Körningar exakt vilket leads anrop som misslyckades.