Flows raise the stakes on one image
Klaviyo takes a GIF anywhere an image goes, campaigns and automated flows alike, animation preserved, nothing to configure. Convenient, and slightly dangerous: an abandoned-cart flow with a bad GIF doesn't misfire once. It repeats the mistake nightly until somebody finally audits the flow.
So the discipline is front-loaded. Get the file right before it enters the automation, because unlike a campaign there's no next send to fix it in. Everything below is about getting it right the first time. A campaign error costs one send; a flow error compounds daily, quietly, in a report nobody reads.
What a product loop should actually show
Ecommerce GIFs earn their slot by answering questions photography can't. How the clasp closes. What the fabric does in motion. How many steps setup really takes. Two to four seconds of honest movement outsells a paragraph of adjectives, and it beats embedded video by the simple virtue of existing, since inboxes won't play video at all. That's the bar: motion that answers a real pre-purchase question.
For multi-angle products, sequence up to ten clips into one GIF. Each clip carries its own trim and crop, the cuts are hard (right for email), and by default the first clip defines the output frame, with the others fitted to it. A three-angle spin in one looping image reads like a small ad inside a cart reminder, and spends a single image slot doing it.
Weigh it for a phone in a parking lot
Klaviyo's uploader accepts files no inbox should receive, so passing the upload proves nothing. The number that matters belongs to the shopper's connection: flows get opened on phones, often on lousy signal. Hold the GIF to roughly 1MB at the outside and treat 500KB as the honest target, sized to the 600-to-640-pixel band standard templates expect. If the loop still looks right at 450KB, you did it correctly.
The second ledger is the message around the image. Gmail truncates HTML past roughly 102KB (the count ignores images entirely), and long promo emails cross that line constantly. A clipped email buries the footer, and the footer holds the unsubscribe link, which is the kind of detail deliverability audits get written about.
The freeze case: sell without the motion
Some slice of any list opens in classic desktop Outlook, meaning the Word-rendered builds from roughly 2007 to 2019, where a GIF is one frame and no more. New Outlook, Outlook.com, and Outlook mobile animate normally, but you can't route around the old ones, so plan for them:
- Open on the product, not the wind-up. Frame one should show what's for sale and why it's good.
- Untimed captions for the essentials. A caption without timing exists on every frame; one timed for second two never reaches a frozen-frame reader.
- No last-second reveals. A price or payoff that appears only at the end is invisible to the freeze crowd.
Local conversion for unreleased products
Product footage often exists before the product is public, which is a bad match for tools that pipe uploads through their servers. What the GIF does the entire encode in your browser: drag in the mp4, mov, or webm and the file never travels. There's no account to create, and the export is watermark-free.
The pass itself: cut the loop to somewhere between 2 and 4 seconds (one keystroke, one frame: the arrow keys give the trim that resolution), crop to 1:1 or 4:5 for product cards or 16:9 for a banner, then take the frame rate down to 10 to 14 fps and thin the colors to 64 or 128, letting dithering cover the gradients. The estimated weight sits on screen and updates as you work, so 500KB becomes a number you steer toward rather than discover. Captions, if the shot needs them, come in a clean color-picked style or full meme dress. Finish inside Klaviyo by filling the alt text field, then trigger a test before the flow goes live, because flows don't wait for business hours.