How to set up template version control?

Still have a question, spotted an error, or have a better explanation or a source we should cite?

Version control means your templates have a time machine. You can see what changed, when, who made the change, and why. More importantly, you can revert to the last working version if someone breaks something. Without it, you're guessing and hoping.

If you have developers on your team, use Git (or GitHub, GitLab, Bitbucket). Store your template HTML files in a repository. Every time someone updates a template, they commit the change with a message explaining why. That creates a permanent record. If something breaks tomorrow, you pull up the commit history, see exactly what changed last week, and roll back if needed.

No developers? That's fine. Most email platforms have built-in version history. Mailchimp, SendGrid, HubSpot, and others automatically save template versions. You can compare old versions side-by-side and restore any previous version. It's less powerful than Git, but it works and requires no setup.

Minimum version control. If you're using a drag-and-drop builder with no history feature, do this yourself. Before you make any big template change, save a dated copy. Name it something clear like "template-promo-2024-01-15-backup.html". Keep a simple changelog in a Google Doc or spreadsheet listing each version and what changed. It sounds old-school, but it's better than losing your only working template.

How to use version control effectively. Write clear commit messages. "Fixed Outlook button rendering" is way better than "updates". Create branches for major changes. Test in the branch, then merge when it's stable. Make sure someone reviews changes before they go live. These practices take five minutes more and save you hours when something breaks.

Set up version control before you need it. Not after you've lost a template to a bad edit.

Related: pre-send testing, dark mode testing, A/B testing.

Contributors

Who worked on this answer

Every name links to their profile. Every company links to their site. Real people, real accountability.

Ask an AI · tailored to your setup

Get step-by-step instructions tailored to your setup.

I read this on the Email Almanac about template version control: "Version control tracks changes to templates, letting you revert to previous versions when problems occur. Use Git if you have developers, ESP-native versioning if available, or manual backups as a minimum." Give me step-by-step instructions for MY specific setup: 1. What exactly to do in my ESP or version control system 2. How to set up commits or version history 3. How to roll back if something breaks 4. What to do if I have a mix of developers and non-technical people --- My details (fill in what applies, the more you share, the better the advice): - Email platform/ESP: e.g. Mailchimp, SendGrid, Postmark, HubSpot, custom SMTP - Domain(s): your sending domain(s) - Sending volume: e.g. 5,000/month or 500/day - Type of email: newsletter / promotional / transactional / automated series - Design approach: [HTML template / drag-and-drop builder / plain text / custom coded] - Template tool: ESP builder, MJML, Stripo, Bee, custom HTML - Image hosting: ESP / CDN / inline / base64 - Personalization used: first name, dynamic content, product recs, none - Dark mode support: yes / no / unsure - Accessibility considerations: yes / no / trying to improve - Target audience: B2B / B2C / mixed, describe typical reader - Brand guidelines: strict / flexible / none - Current challenge: [spam filters, rendering issues, low engagement, design consistency]

Edit the yellow boxes, then send to the AI of your choice.