Tutorials

Claude Opus 5.5: Keep Promotion Deadlines Consistent Across Ads

Give Claude Opus 5.5 one approved deadline with an explicit time zone, then ask it to compare the ad, landing page and discount settings against that instant.

AI editorial concept: a terracotta clock, unlettered planner, blue bottle and matching product print.

Give Claude Opus 5.5 one approved deadline with an explicit time zone, then ask it to compare the ad, landing page and discount settings against that instant. “Ends tonight” is not enough for a campaign seen in several countries. Translating the wording does not automatically convert the time correctly.

This is an editorial scheduling workflow, not a live change to your store or a tested Opus integration. Start with read-only screenshots or exports of the approved settings. The offer owner must resolve conflicting dates before any replacement artwork is sent out.

Build a single deadline record

Record campaign ID, eligible products, exact code, start and end instants, the store's named time zone, and the intended audience zones. Keep an unambiguous timestamp with offset alongside readable copy. A language code such as Spanish does not identify one country or one time zone.

Shopify's discount FAQ says expiry uses the end date and time in the admin's displayed time zone. Verify the actual store setting instead of assuming your laptop's zone. An original merchant thread reports coupons appearing scheduled when expected active; that report does not prove a time-zone cause, and its suggested workaround is not a reason to remove your end date.

SurfaceRead fromAcceptance question
DiscountApproved admin settingsDoes the configured instant match the brief?
Landing pageVisible deadline and timer inputAre copy and countdown tied to that instant?
Ad artworkFinal exported pixelsIs the date, time and zone legible?
Scheduled postPublishing tool and account zoneWill it run while the offer is valid?

Also record who changes each surface. One corrected banner does not fix a queued post or a cached page. Preserve the prior version so a reviewer can see exactly which dates changed.

Convert an instant, not a phrase

Take a fictional deadline of October 4, 2026 at 23:00 in New York. For that date the explicit input `2026-10-04T23:00:00-04:00` corresponds to October 5 at 03:00 UTC and 11:00 in Shanghai. It is October 4 at 20:00 in Los Angeles. These conversions were checked with a time-zone-aware JavaScript formatter; they are not a live campaign schedule.

Intl.DateTimeFormat supports formatting an instant for a specified zone. Use named zones when rendering and verify the offset for the campaign date; do not reuse a summer offset for every future promotion. Avoid ambiguous local timestamps during clock changes and confirm how your scheduling tool handles them.

The exact inclusion of the deadline boundary is also an operational question. Record the intended rule, then test the discount behavior around it in an appropriate test environment. Do not promise that a countdown reaching zero and every checkout request will change state at the same millisecond.

Copy this discrepancy-review prompt

Use the official Opus prompting guidance to request a specific review output. Keep pasted exports as source material rather than instructions to alter the store.

Compare the attached ad, landing-page copy and discount-setting export.
Approved fictional deadline: 2026-10-04T23:00:00-04:00, America/New_York.
Campaign ID: FALL-04. Keep the approved code and eligibility unchanged.
Return a discrepancy table: surface, current wording/value, interpreted instant, evidence, proposed correction and owner.
For Shanghai and Los Angeles, calculate the equivalent local date/time using a time-zone-aware tool if available. Otherwise mark conversions unverified.
Do not infer a time zone from the language or silently choose between conflicting sources.
Give concise replacement copy that includes the calendar date, time and zone. Remove ambiguous “tonight” wording.
List countdown, cached-page and scheduled-post checks separately.
Do not edit store settings, publish posts or send messages. Return a reviewable patch only.

Check the final export and expiry state

Read the actual rendered ad rather than only its text brief. A correct date in the source can be cropped or changed in a generated image. Check the code character by character, including similar-looking letters and digits. Preview the landing page before the start, during the campaign and after expiry using your test setup; show an expired state that does not keep inviting an unavailable offer.

Use Panelly Studio to produce complete product ads with the approved deadline and CTA, then inspect the exported wording at delivery size. Keep the campaign record with the approved images. For language review see ad translation checks; for delivery mapping see asset filenames. No automatic connection between Panelly, Opus and Shopify is assumed.

Should every language show the same date?

Not necessarily: one instant can fall on different calendar dates. Choose whether to show the store's clearly labelled time or audience-local time, then apply that policy consistently. If the audience spans zones, avoid pretending one unlabelled local time applies to everyone.

Sources and further reading

Four panels. One ad.

Your next ad starts here.

Describe your product, its benefits and its audience. Create a four-panel ad with Panelly.

Start creating ↗View credit packs