E-mail Marketing Autoresponder

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • juggle
  • Registratie: December 2003
  • Laatst online: 12-09 01:29

juggle

Papa, ondernemer, gamer

Topicstarter
Beste Tweakers,

Voor een e-mail marketingsysteem moet ik een autoresponder gaan schrijven. Maw een functie die op vooraf gezette tijden automatisch nieuwsbrieven kan versturen op basis van de datum van inschrijving van de ontvanger.

Voordat ik begin met code schrijven heb ik eerst theoretisch geprobeerd een analytse te maken van de werkzaamheden. Eigenlijk loop ik een beetje vast. Mijn idee is als volgt:

In het huidige systeem zijn er 2 tabellen. Een tabel met inschrijvingen en een tabel met groepen.

Voor de autoresponder wil ik een extra tabel maken waarin de autoresponders komen te staan en een tabel waarin de berichten van de autoresponder staan. Een bericht kan worden verzonden op basis van een x aantal uren/dagen na inschrijving. Een autoresponder wordt altijd aan een groep gekoppeld.

So far so good.

Een cronjob moet alle actieve autoresponders ophalen, vervolgens de datum berekenen waarop de autoresponder zou moeten worden verstuurd en alle inschrijvingen ophalen uit die groep die zich binnen de gestelde tijd hebben ingeschreven.

Voorbeeld:

- Autoresponder Y dient 2 dagen na registratie te worden verstuurd.
- Cronjob haalt de autoresponder op.
- Het proces berekent de datum van verzenden op basis van de huidige datum. Dus huidige datum is 03-02-2011, betekent mail inschrijvingen op 01-02-2011
- Haal inschrijvingen op uit de groep, en plaats ze in mail queue.

Nu lijkt dit op het eerste gezicht vrij simpel, maar het e-mail marketing systeem kent ongeveer 1400 gebruikers die samen ongeveer 500.000 inschrijvingen hebben.

Stel dat al deze 1400 gebruikers allemaal tenminste 1 autoresponder hebben, met 4 berichten betekent dit dat ik behoorlijk veel data moet gaan verwerken per proces, dus 1400 * 4 = 5600 berichten maal het aantal inschrijvers die de mail dienen te ontvangen. En dit iedere x minuten weer.

Bovenstaande oplossing lijkt mij dus nogal een belasting voor het systeem, en kan misschien anders? Ik ben heel benieuwd naar jullie suggesties.

Zoek je mede papa's om gezellig mee te gamen? kijk op: fathersoftweakers.nl


Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Waarom het rekenwerk in code doen en niet gewoon in de dbase?

Zodat je dus het volgende krijgt :

- Autoresponder Y dient 2 dagen na registratie te worden verstuurd.
- Cronjob knalt een proces aan
- Het proces berekent de datum van verzenden op basis van de huidige datum. Dus huidige datum is 03-02-2011, betekent mail inschrijvingen op 01-02-2011
- SQL haalt inschrijvingen op een inschrijfdatum hebben van 01-02-2011 met de groep, en plaats ze in mail queue.

En sowieso, waarom wil je het iedere x minuten gaan doen. Verdeel het gewoon over een aantal groepen ( iedere x minuten, ieder kwartier, ieder half uur, ieder uur, iedere 6 uur, iedere dag ) en maak daar meerdere cronjobs voor aan. Een autoresponder hang je dan aan een interval groep.
Mij persoonlijk lijkt bijv iets wat 2 dagen na registratie verstuurd moet worden perfect 1x per dag te doen en op deze manier kan je ook heel wat beter je load verdelen.

Acties:
  • 0 Henk 'm!

  • juggle
  • Registratie: December 2003
  • Laatst online: 12-09 01:29

juggle

Papa, ondernemer, gamer

Topicstarter
Ok, dat klinkt wel slim. Wat je eigenlijk zegt is maak verschillende cronjobs die op bepaald intervallen draaien.
In mijn geval dus 2:

- Een cronjob die ieder uur draait en alle autoresponders voor zijn rekening neemt die op basis van uren moet worden verstuurd.
- Een cronjob die elke dag draait, bijvoorbeeld om 08:00 's ochtends en de autoresponders aanstuurt die op basis van dagen moet worden verstuurd. Eventueel kunnen dit er meer zijn, namelijk 1 die om 08.00 mailt en 1 om 12:00 en ten slotte 1 die om 20:00 's avonds draait.

Zoek je mede papa's om gezellig mee te gamen? kijk op: fathersoftweakers.nl