Ako zistiť, či bol e-mail prečítaný

Často sa stretávam s požiadavkou, kedy prevádzkovateľ či už e-shopu, alebo inej platformy využíva odosielanie e-mailov pre podporu svojho marketingu a potrebuje vedieť, či e-mail bol zákazníkom prečítaný. Mnohé služby pre hromadné odosielanie e-mailov tieto funkcie majú. Ak však z akéhokoľvek dôvodu prevádzkovateľ využíva a potrebuje vlastné riešenie, je potrebné takúto funkciu integrovať. Dôležité je uvedomiť si to, že po odoslaní e-mailu už nemáme žiadny dosah na daný odoslaný obsah. Preto je potrebné vytvoriť systém, ktorý sa po otvorení a čítaní e-mailu spustí, spojí sa s našim serverom a dá nám spätne požadovanú informáciu. Nižšie popíšem stručný postup, ako na to.

Celé to je v podstate o integrácii tzv. email tracking pixel-u, teda malého obrázka vytvoreného napríklad v prostredí PHP, ktorý má najčastejšie rozmery 1 x 1 px a je buď transparentný, alebo v takej farbe, že v tele samotného e-mailu je v podstate neviditeľný. Napríklad vytvorím jednoduchý PHP skript s názvom email-tracking-pixel.php pre generovanie bieleho obrázka.

<?php
$im 
imagecreatetruecolor(11);

$color imagecolorallocate($im255255255);
imagefill($im00$color);

header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>

Takýto jednoduchý PHP skript pre vytvorenie obrázka bude umiestnený na serveri odosielateľa. Do tela e-mailu ho potom vložíme, ako akýkoľvek iný obrázok:

<img src="https://www.domena.sk/email-tracking-pixel.php">

Ak je e-mail otvorený, dôjde aj k načítaniu obrázku a to je presne to, čo potrebujeme, aby sme zistili požadované informácie. Samozrejme pri hromadnom zasielaní e-mailov je potrebné zistiť, ktorý prijímateľ poštu otvoril a preto pridáme parametre, podľa ktorých dokážeme rozlišovať jednotlivých užívateľov, resp. jednotlivé e-mailove adresy:

<img src="https://www.domena.sk/email-tracking-pixel.php?user=mailovadresa@gmail.com">

Pomocou URL parametrov vieme potom rozlišovať jednotlivé kampane, užívateľov a prípadne ďalšie charakteristiky, ktoré potrebujeme. Napríklad:

<img src="https://www.domena.sk/email-tracking-pixel.php?user=mailovadresa@gmail.com&kampan=marketing-maj-2023">

 

Celkový systém tzv. Tracking pixel a PHP pre generovanie obrázka a ukladanie údajov do databáz môže vyzerať nasledovne.

<?php

$host 
'your_host';
$dbname 'your_database';
$username 'your_username';
$password 'your_password';

try {
    
// Connect to the database
    
$connection = new PDO("mysql:host=$host;dbname=$dbname"$username$password);
    
    
// Set PDO error mode to exception
    
$connection->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION);
    
    
// Extract data from the tracking pixel request
    
$ip $_SERVER['REMOTE_ADDR'];
    
$referrer $_SERVER['HTTP_REFERER'];
    
$userAgent $_SERVER['HTTP_USER_AGENT'];
    
    
// Get the current time
    
$currentTime date('Y-m-d H:i:s');
    
    
// Prepare the SQL statement
    
$sql "INSERT INTO tracking_data (ip, referrer, user_agent, timestamp) VALUES (:ip, :referrer, :userAgent, :timestamp)";
    
$stmt $connection->prepare($sql);
    
    
// Bind parameters and execute the statement
    
$stmt->bindParam(':ip'$ip);
    
$stmt->bindParam(':referrer'$referrer);
    
$stmt->bindParam(':userAgent'$userAgent);
    
$stmt->bindParam(':timestamp'$currentTime);
    
$stmt->execute();
    
    
//echo "Data inserted successfully!";
} catch (PDOException $e) {
    
//echo "Error: " . $e->getMessage();
}

// Close the database connection
$connection null;

$im imagecreatetruecolor(11);

$color imagecolorallocate($im255255255);
imagefill($im00$color);

header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>

Ako zistiť, či bol e-mail prečítaný

Jednoduchá schéma

Aké údaje dokáže získať tracking pixel

Tracking pixel obrázok dokáže získať nasledovné údaje:

Typ zariadenia a IP adresa na ktorom sa elektronická pošta otvorila
Dátum a presný čas, kedy sa pošta otvorila
Porovnaním času odoslania a času otvorenia dokážeme určiť, ako dlho trvalo, kým bola správa otvorená
Koľkokrát došlo k otvoreniu správy, resp. či správa bola otvorená opakovane
Podľa zadaných URL parametrov vieme tiež vyhodnocovať úspešnosť kampaní, resp. iné štatistiky

Aké údaje nedokáže získať tracking pixel

Netreba sa vôbec ničoho obávať. Tracking pixel obrázok nedokáže získať žiadne citlivé alebo osobné údaje, údaje o polohe, prehliadaných stránkach v histórii, prečítať uložené heslá v prehliadači atď. Jeho princíp fungovania je v podstate taký istý, ako keby ste si otvorili akúkoľvek stránku. Mnohé webmaily, alebo klienti ako Outlook a podobne majú v základných nastaveniach vypnuté zobrazenie obrázkov a je potrebné ich zobrazenie vždy povoliť. Pokiaľ k tomu povoleniu zo strany užívateľa nedôjde, okrem toho, že neuvidí žiadne obrázky a prečíta si nekompletnú správu, nedôjde ani k odoslaniu údajov.

 

Ako zistiť, či bol e-mail prečítaný

Ukážka možnosti vloženia obrázka pre trackovanie údajov – dole v strede. Ak by bol obrázok vo farbe pozadia, je pre užívateľa prakticky neviditeľný.

Pridať komentár k článku