Mailjet to GoHighLevel, the zero downtime SOP
Keep templates, keep suppressions, keep transactional on Mailjet if you want, move marketing to GoHighLevel.
🏆 Start your Highlevel journey today
Objective
Migrate email marketing and automation from Mailjet to GoHighLevel in 7 days, protect deliverability, keep segments and consent intact.
Scope
- In scope, Mailjet contacts, lists, segments, contact properties, templates, Marketing Automation, suppressions, webhooks
- Out of scope, deep app transactional flows, keep those on Mailjet or your app SMTP
Roles
- Owner, approves DNS and cutover
- Marketing ops, runs exports, imports, templates, workflows
- Dev or admin, DNS, webhooks, ecommerce connections
Prerequisites
- GoHighLevel account ready
- DNS access for SPF, DKIM, DMARC
- Mailjet exports, contacts with properties, lists, segments, suppressions, template HTML or MJML
- If you sell, Stripe, Shopify, or WooCommerce connected
Timeline and tasks
Day 0, sender domain and plan
- Create a dedicated sending subdomain, for example mail.yourbrand.com
- Add SPF, DKIM, DMARC in DNS, verify inside GoHighLevel
- Pick a path, keep Mailjet as custom SMTP in GoHighLevel during week one, or send natively and warm cohorts
Day 1, export and mapping
- From Mailjet, export contacts with properties, list membership, segment definitions, last activity
- Export suppression objects, global unsubscribes, blocked, bounces, spam reports
- Plan mapping, lists to tags, segments to Smart Lists, properties to custom fields
- Create needed custom fields in GoHighLevel, for example last_engaged_at, source, plan_tier
Day 2, import with suppression
- Import active contacts, map email, name, phone, fields, tags
- Import all suppressions as Email DND, spot check a sample
- Build Smart Lists that mirror key segments, VIP, 90 day engaged, buyers, trials
Day 3, forms, pages, attribution
- Rebuild Mailjet subscription forms as GoHighLevel Forms, add hidden fields, utm_source, utm_medium, utm_campaign, gclid, wbraid, fbclid
- Recreate top landing pages in Funnels or Sites. If you need a one day buffer, embed the old form, then replace it
Day 4, automation to Workflows
- Rebuild, Welcome, Lead magnet, Nurture, Promo, Post purchase, Reactivation
- Triggers, form submitted, tag added, purchase received, appointment status changed, Email Event opened or clicked
- Replace goals with Event happened checks and Go To steps
- Add a preference center Workflow, update fields and toggle Email DND based on choices
Day 5, templates and warmup
- Rebuild templates in the GoHighLevel editor, convert MJML or HTML, map variables to merge fields or custom values
- If sending via Mailjet SMTP inside GoHighLevel, warm cohorts, recent clickers, then openers, then 90 day engaged
- If sending via GoHighLevel native, follow the same warmup, hold cold contacts for a re permission run
Day 6, cutover
- Swap all forms and pages on site to GoHighLevel versions
- Pause Mailjet Marketing Automation and scheduled campaigns, keep the account for reporting for two to four weeks
- Turn on Google Ads offline conversions and Meta Conversions API in Workflows
Day 7, monitor and tighten
- Watch opens, clicks, replies, unsubscribes, complaints, bounce codes, attributed conversions
- Consolidate tags, standardize naming, lock Smart Lists and core Workflows
- Document DNS, list health, mappings, templates, and send thresholds
Mapping guide, Mailjet to GoHighLevel
Mailjet item | GoHighLevel target | Notes |
---|---|---|
Lists | Tags | Prefix, list_newsletter, list_customers |
Segments | Smart Lists | Recreate with tags, fields, dates, engagement |
Contact properties | Custom fields | Mirror names one to one |
Marketing Automation scenarios | Workflows | Triggers, waits, splits, goal checks |
Campaigns | Email campaigns or Workflow emails | Rebuild, then clone |
Templates, MJML or HTML | Email Templates | Replace variables with merge fields or custom values |
Suppressions, unsubscribes, bounces, spam | Email DND | Import all, verify samples |
Webhooks, events API | Workflow Webhook steps | Receive or send as needed |
Forms, landing pages | Forms, Surveys, Funnels, Sites | Add hidden UTMs and click IDs |
Single audience strategy. Use tags and Smart Lists. Avoid duplicate lists.
Preference center, fast build
- Create a Profile Update form for topics and frequency
- On submit, update fields and tags, set Email DND for full opt out
- Send a confirmation email for audit
Deliverability checklist
- SPF, DKIM, DMARC pass, From domain matches the authenticated domain
- Warm cohorts gradually, complaint rate under 0.1 percent, hard bounces under 2 percent
- Scope Email Events to each send inside Workflow branches
- Validate suppression import, test that DND contacts never receive mail
QA, acceptance, rollback
- QA, Smart List counts within 5 percent of old segments, templates render variables, preference form updates fields and DND
- Acceptance, first two sends hit expected inbox placement and KPIs on engaged cohorts
- Rollback, if inboxing drops, route through Mailjet SMTP in GoHighLevel, reduce volume, send to last 30 day clickers, fix root cause first
Common pitfalls and fixes
- Segment counts off, align rolling windows, time zones, and last_engaged_at logic
- Variables break, map to GoHighLevel merge fields, seed test with sample data
- Event branches do not fire, scope Email Event to the same message or campaign and extend waits
- Reputation dip, keep Mailjet SMTP connected for week one, then migrate volume gradually
About transactional email
Keep receipts, OTPs, password resets on Mailjet or your app SMTP. Run marketing and lifecycle in GoHighLevel. Cleaner warmup, safer reputation.
FAQ
Can I keep my segments
Yes. Recreate them as Smart Lists using tags, fields, and date based engagement filters.
What about unsubscribes and bounces
Import all suppression types as Email DND. Verify with a sample that suppressed contacts never receive mail.
Can I keep sending through Mailjet during migration
Yes. Connect Mailjet as custom SMTP in GoHighLevel, warm cohorts, then switch to native sending later if you prefer.
How do I replace MJML templates
Export the HTML or copy content, rebuild in the GoHighLevel editor, map variables to merge fields, send seed tests.
Do I need to re confirm my list
No, if status and suppression are imported correctly. Only new opt ins use your double opt in Workflow.