📧
Marketing

Email Tracking

Admin Settings

Track email opens, clicks, and engagement metrics

Overview

Email tracking system for monitoring email campaign performance. Tracks email opens (1x1 pixel beacon) and link clicks (tracked redirect URLs). Provides engagement analytics per email, campaign, and recipient. Integrates with EmailHelper for automatic tracking injection.

Design Considerations

UX patterns and visual design notes for this feature:

  • Tracking pixels should be 1x1 transparent PNG
  • Link tracking should redirect smoothly without delay
  • Show open rate, click rate, and unique stats
  • Privacy consideration: inform users of tracking
  • Respect Do Not Track headers (optional)

Key Benefits

What makes this feature stand out:

  • Track email opens with invisible pixel
  • Track link clicks with redirect tracking
  • Campaign-level analytics dashboard
  • Per-recipient engagement history
  • Real-time open/click notifications
  • Integration with email campaigns
Technical Note

EmailHelper::send() auto-injects tracking pixel and rewrites links. Tracking pixel at /email/track/open/{token}. Click tracking at /email/track/click/{token}. EmailTracking model stores events. Use EmailTrackingHelper for analytics queries.

Helpers
EmailTrackingHelperEmailHelper
Models
EmailTrackingEmailCampaign
Database Tables
email_trackingemail_campaign

Configuration

Config Relationship Legend
DB overrides params.php🔗 DB related setting📋 DB stores value only
params.php Configuration

Config path: params['emailTracking']

params['features']['emailTracking'] => trueparams['emailTracking']['trackOpens'] => trueparams['emailTracking']['trackClicks'] => trueparams['emailTracking']['respectDoNotTrack'] => false
Database Settings (system_setting table)
KeyTypeDescriptionRelation
email_tracking_enabledbooleanEnable email tracking