Jak trzymać w bazie adresy e-mail osób, które się wypisały?

piątek, 2 lipiec 04, 00:00

Piotr Majewski dzieli się swoim doświadczniem, pokazuje sposób na skuteczne zarządzanie adresami wypisanych osób. To wszystko bez łamania ustawy o ochronie danych osobowych. Zobacz jakie to łatwe!

P.Majewski napisał/a na Merytorium.pl dnia 2004-07-02 14:26:57:

Wdrażając postanowiłem dodać do niego system badający wartość przeciętnego czytelnika newslettera. W tym celu musiałem zapisywać adresy wszystkich osób, które się zapisały do moich newsletterów w osobnej bazie danych. Analiza danych z bazy ARP jest niemiarodajna, ponieważ bazę czyszczę z adresów osób, które zrezygnowały itd.

Ale jak trzymać adresy e-mail użytkowników, którzy się na to nie zgodzili nie łamiąc przy tym ustawy?

Jedno jest pewne - trzeba je trzymać bo inaczej nie jestem w stanie zidentyfikować kupującego.

Rozwiązanie jest prostsze niż myślałem. Stowrzyłem bazę danych, w której mam takie pola:

ID | email | polecajacy | AID | zamowione | kupione

ID - numer identyfikacyjny w bazie
email - adres e-mail klienta... ale skrócony za pomocą MD5
polecajacy - ID partnera cnebPoints
AID - identyfikator listy mailingowej
zamowione - data zamowienia
kupione - data zakupu

MD5 - to jest rozwiązanie problemu.

Za pomocą funkcji MD5() w PHP robię tzw. skrót adresu e-mail do 32 znaków.

Skrót ten jest nieodwracalny (są wzrozy matematyczne działające tylko w jendą stronę, jak logarytm). Skoro skrót jest nieodwracalny, to nie łamię prawa - nie jestem w stanie z niego odwtorzyć adresu e-mail.

Wystarczy zmienić jedną literkę w adresie e-mail, aby skrót wyszedł zupełnie inny. Skrótów może być bodajże: 9 472 710 129 612 967 086 019 848 437 700 000 000 (32 do potęgi 52) - przy takiej liczbie można założyć, że możliwość pojawienia się identycznego skrótu dla dwóch różnych maili jest pomijalna.

Jedziemy dalej. Gdy ktoś kupuje, mój skrypt zatwierdzający płatność robi rzecz następującą:

<?php

$data = time();

// zrob MD5 z maila
$md5_email = MD5($email_kupujacego);

// wstaw date zakupu osobom, ktore maja takiego maila i sa na liscie
mysql_query("UPDATE cms_arp_tracking SET kupione = $data WHERE email = '$md5_email'")

?>


U mnie jest to trochę rozbudowane, ale tak też zadziała. Do zapytania MySQL można dodać na końcu

AND AID = 'X'

Jeśli tylko lista o numerze X (np. newsletter CzasNaE-Biznes) promuje dany produkt.

viola! Gotowe. Mamy system śledzący wartość czytelnika i nie łamiemy ustawy o świadczeniu usług drogą elektorniczną i ustawy o ochronie danych osobowych.

Mam nadzieję, że komuś się to przyda. Czytaj na Forum Merytorium.pl