IOSOR Kunskap

CSV-hygien för bulk-lookup före kampanj: normalisera, avduplicera och budgetera

En bulk-lookup-CSV måste normalisera till E.164, avduplicera, respektera föråldrad linjetyp-cache och sätta budgettak före sändning. Finance och ops delar samma kolumner.

Marknadsföring vill ha en lista. Finance ser en svit lookup-debet som inte stämmer med SMS som skickats senare. Bulk-lookup är inte att hälla ett ark i API:t. Hygien kommer före spend: normalisera till E.164, avduplicera, respektera föråldrad linjetyp-cache, tak på plånboken. Den som hoppar hygien behandlar döda nummer som leveransincidenter, dubbla rader som «täckning» och en gammal mobile-etikett som routing-sanning.

IOSOR packar lookup bredvid messaging på ett white-label prepaid-ledger. Katalog live betyder att kontrollen är redo; in setup är ingen produktionsport man cachar runt. Runt USD 1,000+ per månad blir undvikbar-spend-stickprov och lookup→send-korrelation kommersiell granskning. Rekognosering före sänd: nummerrekognoscering före utskick. Enskild lookup: nummerkoll före utskick. Föråldrad cache: inaktuell lookup-cache och linjetyp.

CSV-kolumner som finance och ops behöver

Finance och ops måste öppna samma CSV och läsa samma historia. Minimikolumner: normaliserat E.164, rå inmatning, lookup-tidsstämpel, linjetyp, cache-träff eller färsk kontroll, debiterat belopp, sändbeslut (skicka / hoppa / kolla igen), campaign- eller batch-id. En «mobile»-etikett utan tidsstämpel är åsikt, inte bevis. En lookuprad utan sändbeslut är ett kvitto, inte kontroll.

Kolumn Vem använder den Om den saknas
E.164 Ops och finance Dubbel spend, sändningar som inte stämmer
looked-up-at Ops Oklart om cachen är föråldrad
Sändbeslut Finance Lookup och blast stäms inte av

E.164 och avduplicering före lookup-spend

Normalisera och avduplicera innan lookup-pengar rinner. Samma linje skriven +1…, 001… och lokalt format debiteras tre gånger. Normalisera till E.164, avduplicera på det numret, anropa sedan lookup live. Skräprader (för korta, bokstäver, teststrängar) slängs vid import, de frågas inte som «okänt». Ops äger normaliseringsregeln; finance äger incidentdefinitionen när en dubbel rad ändå debiteras.

Risk för föråldrad linjetyp-cache

En cachad linjetyp är en routing-signal med tidsstämpel, inte en tatuering. Gårdagens mobile kan vara ett VoIP-intervall idag. Föråldrad cache skickar OTP in i ett dött intervall eller lägger friktion på den som porterade igår. Ni betalar ändå lookupraden och det slösade segmentet. TTL är produktregel, inte databassmak. Cacha inte «okänt» som mobile. Uppdatera vid risksignaler — inaktuell lookup-cache och linjetyp.

Budgettak och exporttakt

Budgettak hör till batchen, inte till «vi stämmer av senare». Sätt radtak och beloppstak per lookup-körning; exporttakten (daglig eller vid batchstängning) ligger före blasten, inte som månadsslut-överraskning. Runt USD 1,000+ blir undvikbar spend och cache-åldershinkar tätare granskning. Lova inte pre-send-hygien så länge lookup är in setup.

Röda flaggor

  • Bulk-lookup utan normalisering
  • Samma E.164 debiterad två gånger p.g.a. formatvarianter
  • Föråldrad «mobile» som routing-sanning
  • Okänt cachad som mobile
  • CSV utan rad- eller beloppstak
  • Lookup avstämd mot sänd först i månadsslut
  • Hygien utlovad medan kanalen är in setup
  • Klientfel som namnger uppströmsmärken

Börja med IOSOR

Ta förra veckans kampanj-CSV. Normalisera varje rad till E.164, släng skräp, deduplicera på det normaliserade numret och kör sedan lookup en gång. Tak batchen på radantal och prepaidbelopp före utskicket. Exportera samma fil som finans och ops öppnar: linjetyp, cacheträff, debitering, beslut send eller skip.

IOSOR sammanfattning

Gör: hygien före lookuppengar. Formatvarianter av en linje är en debitering. En cachad linjetyp har tidsstämpel; gammalt mobile är inte routing-sanning.

Var den här guiden till hjälp?

Relaterade guider