Core Features

TrackPost provides powerful features to manage, track, and optimize your transactional emails.

Table of Contents

Feature Overview

Email Templates

Create reusable, dynamic email templates with the Liquid templating engine.

  • Liquid Syntax - Powerful templating with variables, conditionals, and loops
  • Validation - Automatic template validation and error checking
  • Versioning - Track changes and roll back if needed
  • MJML Support - Build responsive emails with MJML syntax

Template Guide →

Email Tracking

Monitor email performance with comprehensive analytics.

  • Open Tracking - See when recipients open emails
  • Click Tracking - Track link clicks automatically
  • Delivery Status - Real-time delivery, bounce, and complaint tracking
  • Analytics Dashboard - Visual reports and metrics

Tracking Guide →

Webhooks

Receive real-time notifications about email events.

  • Event Notifications - Instant updates for sends, deliveries, bounces
  • Custom Endpoints - Configure your own webhook URLs
  • Event Filtering - Subscribe to specific event types
  • Secure - Signature verification for webhook authenticity

Webhooks Guide →

Quick Feature Comparison

FeatureFreeIndieStartupGrowthEnterprise
Templates
Open Tracking
Click Tracking
Webhooks
Custom Domain
API Rate Limit60/min120/min300/min600/min1200/min
Monthly Emails1,00010,00050,000250,000Custom

All plans include core features. Higher plans offer increased limits.

Common Use Cases

Welcome Emails

Use templates and tracking for user onboarding:

await client.emails.send({
  to: user.email,
  from: '[email protected]',
  template_id: 'welcome_email',
  variables: {
    user_name: user.name,
    onboarding_step: 1
  },
  track_opens: true,
  track_clicks: true
});

Monitor opens to see engagement with your welcome series.

Password Reset

Track link clicks on reset emails:

await client.emails.send({
  to: user.email,
  from: '[email protected]',
  template_id: 'password_reset',
  variables: {
    reset_url: 'https://yourapp.com/reset?token=abc123',
    expiry: '1 hour'
  },
  track_clicks: true
});

Order Confirmations

Use webhooks to confirm delivery:

// Your webhook endpoint
app.post('/webhooks/trackpost', (req, res) => {
  const event = req.body;
  
  if (event.type === 'email.delivered') {
    // Update order status
    markOrderAsNotified(event.data.email_id);
  }
  
  res.status(200).send('OK');
});

Feature Guides

Templates

  • Creating and managing templates
  • Liquid syntax reference
  • Variable validation
  • Preview and testing

Tracking

  • Enabling open and click tracking
  • Analytics dashboard
  • Event data and metrics
  • Exporting data

Webhooks

  • Setting up webhook endpoints
  • Event types and payloads
  • Security and verification
  • Best practices

Next Steps

Ready to dive deeper? Choose a feature to explore:

Templates → Tracking → Webhooks →