In this guide
A holiday ad promises 25% off. The product feed still contains the regular price, the landing page shows a different discount, and the checkout requires a code that appears only in the ad. Each team has completed its own task, but the customer encounters three versions of the offer.
Promotional campaigns need a shared release plan because several systems must change together. This becomes especially useful ahead of busy trading periods, when prices, stock, creative, and delivery schedules may change repeatedly.
The operating goal is simple: the person who clicks should receive the offer the ad led them to expect.
Create one offer record
Give each promotion a short identifier and one approved record of its terms. Include eligible products, regular and sale prices, discount method, exclusions, code requirements, start and end times, time zone, and the owner who can resolve conflicts.
Add the destinations and asset versions using the offer. If the campaign links to multiple products or regions, record the applicable currency and availability rules.
Do not use a filename such as “holiday-final-v3” as the only version control. The offer record should let someone determine whether an asset is current without opening every design file.
Map the systems that must agree
| System | Check at launch |
|---|---|
| Ad creative | Offer, exclusions, dates, code, and destination |
| Product data feed | Price, sale period, currency, product ID, and availability |
| Landing page | Visible price and terms match the selected product |
| Structured data | Machine-readable product details reflect the page |
| Checkout | Discount works for the eligible item and customer |
| Reporting | Promotion and campaign identifiers remain consistent |
Google’s price-mismatch guidance describes how differences between product data and landing pages can affect Merchant Center items. Its sale-period documentation also makes the start time, end time, and time zone explicit. The coordination problem applies beyond one platform.
Rehearse the transition
Suppose a fictional product normally costs $80 and will sell for $60 from Friday at 8:00 a.m. New York time through Sunday at 11:59 p.m. The ad, feed, product page, and checkout need to agree on those boundaries.
Test the normal state, the active promotion, and the expired state in a staging environment or another approved test setup. Confirm the time zone in each system; a date without a zone can conceal a different launch hour.
Account for processing and caching delays. Schedule uploads and reviews with enough lead time, then verify the live state at activation. Do not assume that saving a feed means every destination has already processed it.
Automatic corrections can help with some discrepancies, but they are not a substitute for an accurate source. Google notes in its automatic product update guidance that detected mismatches may still lead to disapproval.
Plan for stock and offer changes
Agree on the action if an advertised product sells out: update availability, pause the affected creative or product, or use an approved alternative that does not misrepresent the offer.
A replacement destination should preserve the promise of the ad. Sending everyone to a generic category page may keep a link working while leaving the promotion impossible to find.
Give the monitoring owner a clear escalation path and permission to apply the agreed fallback. Avoid inventing a replacement discount during an incident.
Keep tracking attached to the right destination
Check campaign parameters after redirects and after moving between the product page and checkout. Use the UTM link builder to create consistent tags, then test the complete URL.
Do not add personal information to URL parameters. Keep promotion naming stable so reporting can join the campaign, asset, and offer without manual guesswork.
Place a permitted test order or use the approved checkout test flow. Confirm the price, discount, taxes or shipping presentation, confirmation event, and reporting identifiers.
Close the promotion deliberately
At expiry, check that ads and feeds stop presenting the old offer and that the destination explains the current price. Keep a screenshot and timestamp of the final checks, plus any incident notes.
Use the campaign launch checklist for the broader release process. The promotion-specific addition is a coordinated start, a coordinated end, and a named owner for every place the offer can become inconsistent.
AdOpsNow Editorial
Examples use illustrative data. See our editorial standards or report a correction.