Email Metrics

Broadcast allows you to track email metrics such as opens, clicks, and bounce rates.

There are two ways to track email metrics:

  1. Natively within the Broadcast software.
  2. By integrating with the email service provider’s metrics.

Native Metrics

Currently, it is possible to enable native metrics for Broadcasts and Sequences.

In order to enable native metrics, all you need to do is to enable the “Track Opens” and “Track Clicks” options in the Broadcast or Sequence settings.

Email Service Provider Metrics

Broadcast can also integrate with your email service provider to track metrics such as opens, clicks, and bounce rates.

Currently, the following email service providers are supported:

  • AWS SES
  • Mailgun
  • Postmark
  • SendGrid

Setting up AWS SES

AWS SES supports both SMTP and API delivery methods in Broadcast. Both methods can integrate with SNS (Simple Notification Service) webhooks for tracking email metrics.

Delivery Method Options

When configuring your AWS SES email server in Broadcast, you can choose between:

  • API Delivery (Recommended): Uses AWS SDK for direct API integration, offering better error handling and faster sending
  • SMTP Delivery: Traditional SMTP delivery for maximum compatibility

Both methods support the same SNS webhook integration for tracking email events.

SNS Webhook Setup

AWS SES metric integration requires you to set up a SNS topic. Follow the steps below to set it up.

  1. In the AWS Console under the same region as your AWS SES account, create a new SNS topic. Create a topic, and choose “Standard” as the type.

  2. Give the topic a name, such as “broadcast”. You can leave the rest of the settings as default. Click on “Create topic”.

  3. Once created, click on “Create subscription” button. You will see a screen where you need to configure the endpoint where your AWS SNS Topic will send webhooks to.

  4. Choose “HTTPS” as the protocol. For the endpoint itself, go to your Broadcast dashboard, click on “Channel Settings”, then “ESP Integrations”, and you will see your endpoint.

  5. For example, if your installation is at https://broadcast.yourdomain.com, your endpoint will be at https://broadcast.yourdomain.com/wh/ses. You will see a message that says, “Waiting for verification…”. Keep this tab open because the next step will require you to copy and paste the URL that AWS SNS sends to this screen.

  6. Go back to the AWS Console, and click on “Create subscription”. AWS SNS will send a confirmation request to the endpoint.

  7. Go back to the Broadcast screen, and copy and paste the verification URL that AWS SNS sent to this screen.

  8. Check that the endpoint has been verified in the AWS Console. Under “Subscriptions”, you should see the status as “Confirmed”. If you go back to the Broadcast dashboard, you will see the “Waiting for verification…” if you refresh the page. You do not need to configure anything else here, as Broadcast will receive any messages sent from AWS SNS and verify the message internally.

  9. Now, leave the AWS SNS screen, and go to your AWS SES dashboard. On the side menu, click on “Configuration sets” and “Create set”.

  10. Give it a name, such as “broadcast”. You will need this name later, so make sure to remember it. Leave the rest of the settings as default. Click on “Create set”.

  11. Once the set is created, click on “Event destinations” and then on “Add destination”. Click “Select All” for all the events (eg. sends, rejects, etc), as well as opens and clicks.

  12. On the next screen, you will need to configure the destination. Give your destination a name, such as “broadcast”. Click on Amazon SNS, and on the bottom select the topic you created in the above steps. Click “Next” and “Add destination”.

  13. There is one more step. Within the Broadcast dashboard, go to “Channel Settings”, then “Email Servers”. Click on your AWS email server to edit it. Under “AWS SES Configuration Set”, enter the name you chose above for the configuration set. Click “Update”.

Configuring API Delivery (Optional)

If you choose to use AWS SES API delivery instead of SMTP:

  1. In Broadcast, go to Settings → Email Servers
  2. Click New Email Server or edit an existing AWS SES server
  3. Select AWS SES as the vendor
  4. Choose API as the delivery method
  5. Enter your AWS Access Key ID and AWS Secret Access Key
    • These are different from SMTP credentials
    • Create an IAM user with ses:SendEmail and ses:SendRawEmail permissions
  6. Select your AWS Region (e.g., us-east-1, eu-west-1)
  7. Optionally, enter your AWS SES Configuration Set name (for webhook tracking)
  8. Save your configuration

Testing the Integration

To test the integration, you can send a test email from Broadcast.

The easiest way to do this is manually add a subscriber. Go to subscribers, click on “Add subscriber”, and add a subscriber with an email of “[email protected] ”. This is a test email address that will bounce if used.

Create a new broadcast, and send it. If you go to the subscriber’s detail page, you will see that the AWS SES event is being forwarded from AWS. Because the subscriber’s email bounces, Broadcast has automatically unsubscribed and deactivated this subscriber.

Note that once the system detects a bounce, the system does not allow the user to be resubscribed in order to protect your list from having future deliverability issues.

Setting up Mailgun

Documentation for Mailgun is coming soon.

Setting up Postmark

Postmark provides webhook support for tracking email metrics such as deliveries, bounces, opens, and clicks. Broadcast supports both SMTP and API delivery methods with Postmark.

Delivery Method Options

When configuring your Postmark email server in Broadcast, you can choose between:

  • API Delivery (Recommended): Uses Postmark’s API for faster sending, better error handling, and direct access to advanced features
  • SMTP Delivery: Traditional SMTP delivery for maximum compatibility

Both methods support full webhook integration for tracking email events.

Webhook Setup

  1. Log into your Postmark account and navigate to your Server
  2. Go to the Webhooks section in your server settings
  3. Click Add webhook and configure the following:

    • Webhook URL: https://your-broadcast-domain.com/wh/postmark
    • Events to send: Select all relevant events:
      • Delivery
      • Bounce
      • Spam Complaint
      • Open
      • Click (if using Postmark’s link tracking)
  4. Save your webhook configuration

Configuring API Delivery

If you choose to use Postmark’s API delivery method:

  1. In Broadcast, go to Settings → Email Servers
  2. Click New Email Server or edit an existing Postmark server
  3. Select Postmark as the vendor
  4. Choose API as the delivery method
  5. Enter your Postmark Server API Token (found in your Postmark server settings under “API Tokens”)
  6. Save your configuration

Testing the Integration

To verify your Postmark integration is working:

  1. Send a test broadcast to your own email address
  2. Check your Postmark activity dashboard for the email event
  3. In Broadcast, verify that delivery events appear on the broadcast’s detail page
  4. Open the test email and click any links to verify open and click tracking

Tracking Features

With Postmark webhooks enabled, Broadcast will automatically:

  • Mark emails as delivered when Postmark confirms delivery
  • Unsubscribe addresses that hard bounce to protect your sender reputation
  • Track complaint events when recipients mark emails as spam
  • Record email opens with timestamps (requires open tracking enabled)
  • Track link clicks with timestamps

Message Streams

Postmark supports message streams to separate transactional and broadcast emails. When using API delivery, Broadcast automatically sends: - Broadcast and sequence emails to your default message stream - You can configure different message streams per email server if needed

Notes

  • Postmark’s webhook events are processed immediately as they occur
  • Hard bounces automatically unsubscribe the email address
  • Spam complaints automatically unsubscribe and mark the subscriber as complained
  • Open and click tracking require these features to be enabled in both Postmark and Broadcast settings

Setting up SendGrid

Documentation for SendGrid is coming soon.

Accessing Metrics via API

Once you have tracking enabled (either natively or through your email service provider), you can retrieve email metrics programmatically using the Broadcast Statistics API.

Available Statistics Endpoints

The API provides three endpoints for accessing broadcast statistics:

  1. Summary Statistics - Get aggregate metrics including opens, clicks, bounces, complaints, and unsubscribes GET /api/v1/broadcasts/:id/statistics

  2. Timeline Data - Get time-series data showing how metrics evolved over time GET /api/v1/broadcasts/:id/statistics/timeline

  3. Link Statistics - Get click statistics for links in your broadcast GET /api/v1/broadcasts/:id/statistics/links

Example: Getting Broadcast Statistics

curl -X GET \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  http://your-domain.com/api/v1/broadcasts/123/statistics

This returns comprehensive statistics including: - Delivery rates (sent, failed, delivery percentage) - Engagement metrics (opens, clicks with counts and rates) - Issue tracking (bounces, complaints, unsubscribes)

Example Response

{
  "broadcast_id": 123,
  "engagement": {
    "opens": {
      "count": 4500,
      "rate": 45.0
    },
    "clicks": {
      "count": 1200,
      "rate": 12.0
    }
  },
  "issues": {
    "bounces": {
      "count": 150,
      "rate": 1.5
    },
    "unsubscribes": {
      "count": 25,
      "rate": 0.25
    }
  }
}

For complete API documentation, see the Broadcasts API page.

Use Cases

The Statistics API is useful for:

  • Building custom analytics dashboards
  • Integrating broadcast metrics into your application
  • Automated performance monitoring and alerting
  • Exporting metrics for reporting
  • Comparing broadcast performance over time

Note: Statistics are only available for broadcasts where tracking is enabled (track_opens and track_clicks).