Di dunia digital saat ini, email adalah saluran komunikasi penting bagi bisnis dan individu. Baik untuk kampanye pemasaran, pemberitahuan transaksional, atau interaksi pribadi, melacak interaksi email dapat memberikan wawasan yang berharga. Pada artikel ini, kita akan mempelajari cara melacak kapan email dibuka oleh pengguna menggunakan Node.js, runtime JavaScript yang populer. Kami akan membahas langkah-langkah yang diperlukan dan memberikan cuplikan kode untuk membantu Anda menerapkan fungsi ini secara efektif.

Prasyarat:

Untuk mengikuti tutorial ini, Anda harus memiliki pemahaman dasar tentang JavaScript dan Node.js. Keakraban dalam mengirim email secara terprogram menggunakan perpustakaan seperti Nodemailer juga akan bermanfaat.

Langkah 1: Siapkan Proyek Mulai dengan membuat proyek Node.js baru dan menavigasi ke direktori akarnya di terminal Anda. Inisialisasi proyek menggunakan perintah berikut:

$ npm init -y

Selanjutnya, instal dependensi yang diperlukan. Kami akan menggunakan kerangka web Express untuk kesederhanaan dan perpustakaan uuid untuk menghasilkan pengidentifikasi unik. Instal mereka menggunakan perintah berikut:

$ npm install express uuid

Langkah 2:Buat Template Email Sebelum kita mendalami fungsi pelacakan, kita memerlukan template HTML untuk email kita. Buat file baru bernama email-template.html dan tambahkan konten berikut:

<html>
  <body>
    <h1>Hello, User!</h1>
    <p>This is a sample email template.</p>
    <img src="https://yourwebsite.com/tracker/{{uuid}}" width="1" height="1" />
  </body>
</html>

Perhatikan bahwa kami telah menambahkan tag img dengan atribut sumber disetel ke "https://yourwebsite.com/tracker/{{uuid}}". Ini akan berfungsi sebagai piksel pelacakan kami, dan {{uuid}} akan diganti dengan pengenal unik untuk setiap email.

Langkah 3: Menyiapkan Server Ekspres Buat file baru bernama server.js dan tambahkan kode berikut untuk menyiapkan server Ekspres dasar:

const express = require('express');
const { v4: uuidv4 } = require('uuid');

const app = express();
const port = 3000;

app.use(express.urlencoded({ extended: true }));
app.use(express.json());

app.get('/tracker/:uuid', (req, res) => {
  const { uuid } = req.params;
  // Log or process the tracked email here
  console.log(`Email with UUID ${uuid} has been opened.`);
  // Return a transparent 1x1 pixel image as the response
  res.sendFile('pixel.png', { root: __dirname });
});

app.post('/send-email', (req, res) => {
  const { to } = req.body;
  const uuid = uuidv4();
  
  // Generate the email content using the template and replace the placeholder
  const emailTemplate = fs.readFileSync('email-template.html', 'utf8');
  const emailContent = emailTemplate.replace('{{uuid}}', uuid);

  // Send the email using your preferred method (e.g., Nodemailer)
  // Add your email sending logic here

  res.json({ success: true, message: 'Email sent successfully.' });
});

app.listen(port, () => {
  console.log(`Server running on port ${port}`);
});

Langkah 4:Lacak Pembukaan Email Dalam kode server dari Langkah 3, perhatikan titik akhir /tracker/:uuid. Saat penerima email membuka email, URL piksel pelacakan akan dimuat, dan titik akhir ini akan dipicu. Kami dapat mencatat atau memproses email yang dilacak dalam rute ini. Dalam contoh ini, kita cukup mencatat pesan yang menunjukkan bahwa email dengan UUID terkait telah dibuka.

Langkah 5: Mengirim Email yang Dilacak Untuk mengirim email yang dapat dilacak, kami akan menggunakan titik akhir /send-email yang ditentukan dalam kode server dari Langkah 3. Dalam contoh ini, kami berasumsi Anda memiliki fungsi bernama sendEmail yang menangani pengiriman email menggunakan metode pilihan Anda (misalnya, Nodemailer). Anda harus mengganti placeholder dengan logika pengiriman email Anda sendiri.

Kesimpulan: Selamat! Anda telah berhasil mempelajari cara melacak kapan email dibuka oleh pengguna menggunakan Node.js. Dengan menerapkan fungsi ini, Anda bisa mendapatkan wawasan berharga tentang keterlibatan pengguna dengan email Anda, sehingga memungkinkan Anda mengoptimalkan strategi komunikasi Anda. Ingatlah untuk selalu menangani data dan privasi pengguna secara bertanggung jawab saat menerapkan mekanisme pelacakan. Jangan ragu untuk mengeksplorasi penyempurnaan lebih lanjut, seperti menyimpan data pelacakan dalam database untuk dianalisis atau diintegrasikan dengan platform analitik.

Selamat membuat kode!