Email Events
Score CRM tracks every interaction with your emails, providing detailed engagement data for analytics, segmentation, and automation.
Event Types
| Event | How It's Tracked | Description |
|---|---|---|
| Sent | Score CRM | Email was handed off to the SMTP provider |
| Delivered | ESP webhook | Provider confirmed the email was delivered to the recipient's server |
| Opened | Tracking pixel | Recipient opened the email (invisible 1x1 pixel loaded) |
| Clicked | Link rewriting | Recipient clicked a link in the email |
| Bounced | ESP webhook | Email could not be delivered |
| Complained | ESP webhook | Recipient marked the email as spam |
| Unsubscribed | Tracking link | Recipient clicked the unsubscribe link |
Tracking Mechanisms
Open Tracking
When Track Opens is enabled on a campaign, Score CRM inserts a tiny invisible image (tracking pixel) into the email HTML. When the recipient's email client loads images, the pixel is fetched from Score CRM's tracking server, recording an open event.
Limitations:
- Email clients that block images by default won't register opens until images are loaded
- Some privacy-focused clients (Apple Mail Privacy Protection) may pre-load images, inflating open counts
- Plain text emails cannot track opens
Click Tracking
When Track Clicks is enabled, Score CRM rewrites all links in your email to pass through the tracking server:
Original: https://example.com/sale
Tracked: https://your-tracking-domain.com/api/track/click/{trackingId}
When a recipient clicks the tracked link, Score CRM:
- Records the click event with the link URL, customer ID, and timestamp
- Redirects the recipient to the original destination URL
Webhook-Based Tracking
Events like delivery, bounce, and complaint are reported by your ESP via webhooks. See Webhook Setup for configuration instructions.
Event Data
Each event record contains:
| Field | Description |
|---|---|
campaign_id | Which campaign triggered the event |
customer_id | The recipient's customer ID |
customer_email | The recipient's email address |
event_type | Type of event (sent, delivered, opened, etc.) |
occurred_at | Timestamp when the event occurred |
metadata | Additional data (link URL for clicks, bounce reason for bounces, etc.) |
esp_message_id | The email provider's message identifier |
Event Storage
Events are stored for high-performance analytics:
- Real-time processing: Events are processed as they arrive and available almost instantly
- Pre-aggregated stats: Summary metrics per campaign are maintained for instant dashboard queries
- Efficient querying: Events are organized for fast lookups by campaign, customer, and time range
Using Events
In Reports
Campaign reports show event breakdowns with counts, rates, and timeline charts. See Campaign Reports.
In Segments
Create segments based on email engagement:
- "Customers who opened any email in the last 30 days"
- "Customers who have NOT clicked in the last 90 days"
In Journeys
Use events as conditions in journey workflows:
- Check if a customer opened the previous email
- Wait for a click event before proceeding
- Branch based on engagement behavior
In Suppression
Events automatically trigger suppression when appropriate:
- Hard bounces → immediate suppression
- Spam complaints → immediate suppression
- 5 consecutive soft bounces → automatic suppression
- Unsubscribe clicks → immediate suppression