Byrå
Ein trakt, tjue kundar, tjue omdømme haldne frå kvarandre
Eit byrå på tre personar som driv marknadsføring for tjue lokale verksemd har det same problemet tjue gonger, og den same løysinga tjue gonger — bortsett frå at lista, sendeidentiteten, domenet og samtykkeregistreringa til kvar kunde må vere heilt deira eiga. Det interessante arbeidet ligg i det «bortsett frå».
Eitt prosjekt per kunde, og grensa er databasens jobb
Alt her er avgrensa til ein leigetaker og eit prosjekt saman — kontaktar, trakter, kreative, kampanjar, sendeidentitetar, rapportar. Denne avgrensinga blir handheva med radnivåsikring i databasen, ikkje av ei klausul nokon må hugse å leggje til ei spørjing. Eit gløymd prosjekt ser ingenting, i staden for radene til det første prosjektet.
Det vil seie at lista til ein kunde ikkje kan lekke inn i kampanjen til ein annan kunde ved eit uhell, og det vil seie at ein rapport handlar om éin kunde fordi den strukturelt ikkje kan handlare om to.
Kvar kunde sender som seg sjølv
Ein sendeidentitet høyrer til eit prosjekt: deira domene, deira DKIM-nøklar, deira postboks eller deira leverandørkonto, deira takstgrense. Ein uheldig kampanje frå ein kunde kan ikkje skade leveransen til ein annan kunde, for dei delte aldri noko som kunne skadast.
Det løser også ein ubehageleg samtale tidleg. Kunden eig si sending, si liste og sitt samtykkeregister. Når dei går — og nokre vil gjere det — går dei med alt saman, og du har ikkje bygd eit gisselsituasjon du måtte forklare.
- 1KontaktarPer prosjekt. Handheva i databasen, ikkje av ei spørjing du må hugse.
- 2SendingDeira domene, deira DKIM, deira postboks eller leverandør, deira takstgrense.
- 3SamtykkeDeira register. Det følgjer med dei, bevis inkludert, om dei går.
- 4RapportarPer prosjekt av konstruksjon. Det finst ingen måte å samle to kundar ved eit uhell på.
- iDet du beheldTraktdefinisjonane og måten du arbeider på. Det er produktet ditt, og det er delen som er verdt å gjenbruke.
Ingen delt omdømmeIngen delt liste
Gjenbruk utan kopier-lim inn
Bygg trakta éin gong. Sett ho ut så mange gonger som du har kundar.
Ein trakt er ein graf, og ein graf er JSON med eit publisert skjema. Det vil seie at det du gjenbrukar er eit dokument, ikkje eit skjermbilete av ein skjerm du må byggje opp att for hand i kvar konto.
Traktene dine
Velkomen, forlaten handlekurv, ikkje møtt, intervall, vinn-att. Skrivne éin gong av den som er best på det, lagra i ditt eige lager, og oppretta i eit kundeprosjekt med eitt API-kall.
Kontrollert på same måte overalt
Validatoren køyrer på trakta di i kvart prosjekt ho landar i. Ein graf som ville loope utan ein venting, eller sende utan eit emne, blir avvist der akkurat som han ville blitt her.
Simulert før han køyrer
Køyr ein tørrtest med ein ekte kontakt frå lista til den kunden gjennom trakta, og les tilbake kva han ville ha sendt. Gjer det éin gong per utrulling, og samtalen «det gjekk gale ut» sluttar å skje.
Forbetra på eitt stad
Når du lærer noko — den andre påminninga verkar betre klokka ti om morgonen — endrar du definisjonen din og rullerer han framover. Kundane som allereie køyrer den gamle versjonen fullfører på den gamle versjonen; ingen som er undervegs blir forstyrra.
Kreative også
Eit kreativt element er eit dokument med flettevariablar. Den same velkomst-e-posten, rendra med kvar kunde sitt merkevarke, fargar og logo — henta frå deira eiga nettside ved første køyring.
Eller la ein agent gjere det
Pek ein assistent på MCP-serveren, avgrensa til eitt prosjekt, og la han utarbeide og kontrollere trakta for den kunden. Alt som når ein ekte person treng framleis ei eksplisitt stadfesting og held seg innanfor kvoten.

Elleve kundar, elleve sendarar, eitt stad å sjå.
Problemet med månadsrapporten
Det meste av rapporteringssmerten til eit byrå er ikkje å produsere tal. Det er å produsere tal som overlever at kunden stiller eit oppfølgjarspørsmål, og å produsere dei utan tre timar med skjermbilete den første i månaden.
To ting hjelper her. Rapportane er API-ruter, så månadspakken kan setjast saman av eit skript og eksporterast som PDF i staden for av eit menneske og eit rekneark. Og tala er ærlige på botnar: rå og filtrerte er begge tilgjengelege, merka, så når ein kunde spør kvifor opningsraten fall etter dei flytta, kan du forklare det i ei setning i staden for å forsvare det i fire.
Dei same flisene landar i dash-b — kampanjeyting, fall i traktene, listevekst, leveransevne per domene — så ein kunde som vil ha eit levande brett kan få det, på sin eigen konto, med sine eigne innloggingsopplysningar og utan nokon nøkkel frå deg på sida.
- 1For kvart prosjektEitt token, eitt prosjektomfang, det same skriptet.
- 2HentKampanjeyting, fall i traktene, listevekst, leveransevne per domene.
- 3GjengjeKreativdokumentet deira som rapportside, og så til PDF.
- 4SendEller legg det på brettet deira. Kva som helst av det kunden faktisk les.
- iKva som har endra segTre timar med skjermbilete vart ei planlagt oppgåve, for rapportane var rutar heile tida.
Rå og filtrert, begge merka
Samtalen om samtykke, tatt tidleg
Kvart byrå har møtt kunden som kjem med eit rekneark med fire tusen adresser og eit vagt svar om kor dei kom frå. Her er ikkje det noko argument du må vinne; det er eit felt.
Importen landar som berettiga interesse på det beste, aldri som samtykke, og grunnlagsblandingen blir vist før noko kampanje går ut. Om ei liste ikkje kan sendast til, seier det seg sjølv ved importen i staden for ved klagen. Det gjer ei ubehageleg skjønnsvurdering til ei felles lesing av same skjerm — og det er ei mykje betre posisjon for deg når kunden insisterer.
Verdt å seie høgt til kunden: omdømet som blir risikert av ei dårleg liste er deira, på deira eige domene, fordi kvart prosjekt sender som seg sjølv. Det er eit sterkare argument enn noko forskrift, og det er det som oftast treff.