HubSpot isn't the problem. Your recipients' Outlook is.
Getting a GIF into a HubSpot campaign is the easy half: HubSpot treats a GIF like any other image, so you drop it into an image module and it ships. The hard half is the audience. HubSpot lists skew B2B, and B2B means corporate inboxes, and corporate inboxes still mean a surprising amount of classic desktop Outlook (roughly the 2007 to 2019 versions, the ones built on Word's rendering engine). Those clients show only the first frame of your GIF. No loop, no motion, just frame one, forever.
The newer clients are kinder. New Outlook, Outlook.com, Outlook mobile, Gmail, and Apple Mail all animate GIFs normally, as of this writing. So getting a gif in HubSpot email right is really a two-audience design problem: motion for most readers, a competent static image for the Word-engine holdouts. Plan for both from the start and neither group gets a broken experience.
Targets to hit before you touch the export button
Email is a weight-class sport. Decide your numbers first, then make the GIF fit them:
- File size: roughly 1MB or less. Most ESP guidance, HubSpot's included, trends toward about a megabyte for images. Heavy emails also drag on deliverability, so every KB you save is a small favor to your sender reputation.
- Width: around 600 to 640px. That's the standard email template column. Exporting wider just burns kilobytes on pixels the template will shrink anyway.
- Frame rate: 10 to 12 fps. Smooth enough for product motion, cheap enough to keep the frame count sane.
- Colors: 64 to 128. Screen recordings and product UI survive palette reduction shockingly well. Cut colors before you cut anything you'd miss.
- Length: 2 to 4 seconds. One idea, looping. Recipients get the point on the first pass or not at all.
- One more Gmail quirk: Gmail clips message HTML over roughly 102KB. That's the body markup, not your image bytes, but a template stuffed with modules can trip it, so a heavy GIF inside a heavy template is asking for a "[Message clipped]" link.
Frame one is the whole ad
Since classic desktop Outlook freezes your GIF on its first frame, treat frame one like a static banner that happens to move for everyone else. The headline, the product, the reason to click: all of it needs to be legible the instant the GIF appears. If your animation builds to a payoff in the last second, Word-engine Outlook readers see the setup and never the punchline.
Captions make this easy to get right. What the GIF lets you put up to three text overlays on a GIF, in a clean brand style with a color picker or a classic meme style if that's your list's vibe, and by default a caption stays on for the whole GIF. That default is your friend here: a caption that runs the full loop is on frame one by definition. If you use per-caption timing to reveal text partway through, just make sure the message that matters isn't the one that's hidden at zero seconds.
Build the GIF in your browser, not on someone's server
Open the converter and drop in your source video: mp4, mov, webm, whatever your screen recorder or motion tool exported. Everything runs client-side in the tab, nothing is uploaded, and there's no signup or watermark, which matters more than usual when the clip is an unreleased feature demo headed for a customer list.
Trim to the tightest loop that still makes the point; the timeline is frame-accurate and the arrow keys nudge a single frame at a time. Crop to 16:9 for a full-width hero module or 1:1 if the GIF shares a row with text, then scale down toward that 600px column. If you're showing a short flow, you can sequence up to three clips into one GIF with hard cuts, each with its own trim and crop, which reads like a mini product tour without a video embed. Then pull the levers, fps, colors, dithering, while the live output estimate updates, until you're under budget. If it's still stubbornly heavy, the small-GIF playbook covers which lever to pull first.
Into HubSpot, then test like a skeptic
In the HubSpot email editor, add the GIF the way you'd add any image and write real alt text, one sentence that carries the message if images are blocked entirely. Assume the loop runs forever, because in most clients it will, so pick motion you'd tolerate on the tenth repeat.
Then send test emails to accounts you actually control: a Gmail address (which serves images through Google's proxy), an Outlook.com address, and if anyone on your team still has classic desktop Outlook, that machine is your most valuable QA device. Check that frame one sells on its own and that the animated version doesn't strobe. The client-by-client details have their own page in the Outlook guide, and they're worth ten minutes before a big send.