Thanksgiving Day 2026: $6.9B online forecast and a three-post plan

Adobe forecasts $6.9 billion online on Thanksgiving, Nov 26, 2026, up 8.5%, with 63% on mobile. Three 6-second vertical clips on Sume cover the day for $2.25.

5 min readSume
All posts

Thanksgiving Day, Thursday November 26, 2026, is forecast by Adobe at $6.9 billion in US online sales, up 8.5% on 2025, with 63% of that spending on mobile devices. Three short vertical clips, one per part of the day, cost $2.25 on Sume when each is 6 seconds on Wan 3.0 at 720p ($0.10 list per second x 1.25 = $0.125 per second, $0.75 per clip).

Adobe's forecast also has AI-assistant traffic to retail sites up 159% on Thanksgiving. That is a reminder to keep the offer in text on the page, not only in the clip.

Three posts, three jobs

The day is quiet in the morning, busy at midday and active again after dinner. Plan one clip for each state rather than one clip posted three times.

Thanksgiving Day 2026 plan, Adobe forecast figures (read 2026-10-13)
SlotClipWhyCost (6 s, Wan 3.0 720p)
MorningEarly-access reminder with the sale start timeGets the deal in front of people before the cooking starts$0.75
MiddayHero product with price, 9:16Mobile is 63% of the day's online spending$0.75
EveningLast-call clip with the hours the sale endsCatches the after-dinner browse$0.75

Submit all three at once

Sending three separate /v1/videos requests is fine, and each can carry its own webhook through callback_url. If you send them from a script, put a distinct, stable key per slot in your own bookkeeping so a retry does not create a fourth clip.

import asyncio, os
import httpx

SLOTS = {
    "morning": "Kitchen counter, soft morning light, a phone on the counter showing a countdown glow, gentle push-in",
    "midday": "Product on a wooden table beside autumn leaves, shallow depth of field, slow orbit",
    "evening": "Warm dinner table candles blurring in the background, product in sharp focus, slow rack focus",
}

async def submit(client, slot, prompt):
    r = await client.post("https://api.sume.com/v1/videos", json={
        "model": "wan-3.0", "prompt": prompt, "duration": 6,
        "resolution": "720p", "aspect_ratio": "9:16"})
    r.raise_for_status()
    return slot, r.json()["id"]

async def main():
    headers = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}
    async with httpx.AsyncClient(headers=headers, timeout=30) as client:
        for slot, job_id in await asyncio.gather(*(submit(client, s, p) for s, p in SLOTS.items())):
            print(slot, job_id)

asyncio.run(main())

Cautions

Adobe's numbers are a forecast, so write the plan so that it still works if the day is flat. If you offer pickup or same-day delivery, put the cut-off time in a caption, not in the spoken audio, since the audio is generated and may not say the time you intend.

Do not post all three at the hours listed if your audience is in several time zones; schedule by the local hour of your biggest region.

  • Mobile share is the season-wide 57.4%; on Thanksgiving it is forecast at 63%.
  • Keep the three clips visually related so the day reads as one campaign.
  • Reserve funds for one re-roll per slot.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume