Built to order

Newsletter Campaign Manager with Open and Click Tracking

This project builds a newsletter campaign manager — compose emails with content blocks, manage subscriber lists and segments, schedule sends, and measure every campaign with open and click tracking on a visual analytics dashboard. It implements the real mechanics of email marketing: a tracking pixel for opens, redirect-wrapped links for clicks, bounce and unsubscribe handling, and per-campaign reports with hourly open heatmaps. The tracking design and sending architecture are documented for a confident viva. Suitable for B.E./B.Tech final-year projects in Computer Science, IT and Web

Newsletter Campaign Manager with Open and Click Tracking — project thumbnail preview
More project photos (2)

The problem

College clubs, startups and creators all run newsletters, but the free tiers of commercial tools cap subscribers and hide the interesting machinery. The genuinely educational parts are the tracking itself — how a 1-pixel image records an open, how link wrapping attributes clicks, how bounces and unsubscribes keep a sender reputable — plus the sending pipeline that delivers thousands of emails without blocking the app. This project builds that end to end: a block-based email composer with live inbox preview, list and segment management, a queued sending worker, open/click tracking with per-campaign dashboards, and compliance handling (unsubscribe links, bounce processing). Reports show opens over time, hourly heatmaps and top-clicked links.

How it works

  1. The author assembles the email from content blocks; the composer renders a live preview matching major email clients' constraints (table-safe, inline styles).
  2. On send, the campaign is fanned out into per-subscriber jobs on a queue, each job personalizing the HTML (name, unsubscribe link, tracking pixel, wrapped links).
  3. Workers send through the configured SMTP provider at the provider's rate limit, retrying soft bounces with backoff.
  4. When a subscriber opens the email, their client fetches the 1-pixel beacon; the tracking endpoint logs subscriber, campaign and timestamp.
  5. Clicked links hit the redirect endpoint first, which logs the click and forwards to the destination URL.
  6. Unsubscribe clicks instantly mark the subscriber opted-out; hard-bounce webhooks suppress the address from future sends.
  7. The dashboard aggregates events into campaign reports: opens over time, hourly heatmaps, top links and client breakdowns.

Tech stack:

  • Node.js + Express (app + tracking endpoints)
  • PostgreSQL (subscribers, campaigns, events)
  • BullMQ + Redis (send queue)
  • Nodemailer / SMTP (delivery)
  • Block-based email composer
  • SVG charts (analytics)
  • Docker + docker-compose
Parameter Value
Sending throughput Approximately 5–10 emails/second per worker (design target)
Subscribers Approximately 100,000 per installation (expected)
Tracking pixel 1×1 transparent beacon per subscriber (design target)
Event storage One row per open/click; aggregation queries indexed (expected)
Bounce handling Hard-bounce auto-suppress via webhook (design target)
Scheduling Timezone-aware, minute granularity (design target)
Compliance Unsubscribe link + postal footer on every send (design target)
Deployment Docker compose: app + workers + PostgreSQL + Redis (design target)

Project features

  • [Block email composer] Headings, paragraphs, buttons and product blocks assembled visually, with a live Gmail-style inbox preview.
  • [Subscriber lists and segments] Multiple lists with custom fields; segments by engagement or field values for targeted sends.
  • [Open tracking] A 1-pixel tracking beacon records opens per subscriber, aggregated into opens-over-time charts.
  • [Click tracking] Every link is wrapped in a redirect that logs the click before forwarding, powering top-links tables.
  • [Scheduling] Campaigns send immediately or at a scheduled time with timezone-aware delivery.
  • [Campaign reports] Opens, clicks, forwards estimate, unsubscribes, hourly open heatmap and email-client breakdown per campaign.
  • [Unsubscribe and bounce handling] One-click unsubscribe honoured instantly; hard bounces automatically suppress the address.
  • [Queued sending] A background job queue throttles sends to the SMTP provider's rate limits so the app never blocks.

What is included

  • Campaign composer with block editor and live inbox preview
  • Subscriber list/segment manager with import
  • Queued sending pipeline with retry and throttling
  • Open/click tracking endpoints and analytics dashboards
  • Unsubscribe and bounce-handling flows
  • Project report PDF (tracking design, queue architecture, deliverability, methodology, results)
  • PPT presentation for final review
  • Viva Q&A preparation document (tracking pixels, link wrapping, queues, spam compliance)

Limitations & prerequisites

  • Open rates are approximate by nature: Apple Mail Privacy Protection pre-loads tracking pixels, inflating opens, while image-blocking clients undercount them — the report documents this honestly.
  • The demo sends through a configurable SMTP provider; the deployer supplies credentials and warms up the sending domain — deliverability depends on DNS (SPF/DKIM) the project documents but cannot guarantee.
  • Click tracking wraps links, so the visible URL differs from the destination until redirect — standard practice, disclosed in the report.
  • Template design targets the lowest common denominator of email clients (table layouts, inline CSS); pixel-perfect rendering in every client is not claimed.
  • A/B subject-line testing is future scope; the build ships single-variant campaigns.
  • List import validates format, not address existence — verification services are an optional integration.

Frequently Asked Questions

How does open tracking actually work?

Each personalized email embeds a unique 1×1 transparent image. When the subscriber's email client loads images, it requests that URL; the tracking endpoint logs who opened which campaign and when. Clients that block images simply don't register — which is why open rates are treated as directional, not exact.

And click tracking?

At send time every link is rewritten to pass through a redirect endpoint carrying the subscriber and campaign IDs. The endpoint records the click, then issues an HTTP redirect to the real destination — the subscriber notices nothing.

Won't this get flagged as spam?

The project implements the compliance basics (one-click unsubscribe, physical footer address, bounce suppression, throttled sends) and documents SPF/DKIM/DMARC setup. Reputation ultimately depends on the sender's domain and list hygiene, which the report covers.

How do thousands of emails send without freezing the app?

Sends are queue jobs: the web request only enqueues, and background workers deliver at the SMTP provider's rate limit with retries. The dashboard polls job progress independently.

Can I import an existing subscriber list?

Yes — CSV import with column mapping, duplicate detection and automatic suppression of previously unsubscribed or bounced addresses.

Is this project suitable for a final-year project?

Yes — for Computer Science, IT and Web Development programs. It demonstrates event tracking design, queue-based architecture, email deliverability engineering and data visualization. Suitable for B.E./B.Tech final-year projects in Computer Science, IT and Web Development.

Components & software requirements
  • Node.js + Express (app + tracking endpoints)
  • PostgreSQL (subscribers, campaigns, events)
  • BullMQ + Redis (send queue)
  • Nodemailer / SMTP (delivery)
  • Block-based email composer
  • SVG charts (analytics)
  • Docker + docker-compose
Delivery information

Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.

Support terms

Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.

Download abstract (PDF)

Related guides

All guides
Technical illustration of a cloud server pushing event envelopes outward to web application endpoints for payments, dashboards and chat.Web development and IoT students who have built a REST API or an ESP32 project and now need external services (payments, GitHub, messaging) to notify their app when things happen

Webhooks Explained: Receive Data from Payments, GitHub and IoT

A webhook lets a service call your server the moment an event happens — payments, code pushes, form submissions. This guide explains the event anatomy, HMAC signature verification, the fast-acknowledge reliability pattern, local testing, and how webhooks compare with polling, WebSockets and SSE.

Read guide
Illustration of Docker Compose orchestrating a full-stack application with frontend, API, database, and cache containers connected in one network.B.E./B.Tech Computer Science and IT students whose full-stack projects need a frontend, backend, and database running together and are tired of setup instructions that only work

Docker Compose for Full-Stack Projects

Stop juggling four terminals and setup docs that only work on your laptop. This guide builds a complete Docker Compose stack — frontend, API, database, cache — with annotated config, healthchecks, persistent volumes, and a dev/prod split that survives demo day.

Read guide
Illustration of a web page with a comment section: a shield filtering user input so scripts are neutralized into harmless text before rendering in visitors' browsers.B.E./B.Tech Computer Science, IT and Web Development students building web applications with user-generated content: comments, profiles, forums, dashboards

XSS Attacks Explained for Students

Cross-site scripting turns your comment section into code running in visitors' browsers. Learn the three XSS types conceptually, why browsers execute injected input, what it enables, and the defender's toolkit: output encoding, Content Security Policy, safe DOM handling, and hardened cookies. No payloads — prevention only.

Read guide
Get a quotation