Advent Calendar layout
Build a day-by-day Advent Calendar with images, linked Touchpoints, and non-overlapping dates.
Placeholders in this article
This article contains placeholder screenshots. Search for placehold.co in this file and replace them before publishing.
In this article, you'll build a day-by-day Advent Calendar landing page with shared header content, calendar tiles, and Touchpoint-specific date windows.
Prerequisites
- The campaign landing page is enabled.
- The campaign dates and timezone are already set.
- You have one eligible game Touchpoint ready for each day you want to unlock.
Advent Calendar is date-driven
Each calendar item depends on the linked Touchpoint dates. If a linked Touchpoint does not use its own date override, the Advent Calendar will fail validation.
Setup flow
Configuration
Select Advent Calendar
Open Landing Page, choose Advent Calendar from the Page Layout selector, then save the layout change.
Configure the shared header
Set the banner, title, and subtitle first. The Advent Calendar still uses the same shared header as the other landing page layouts.
Link each item and upload the images
For every item, select the associated Touchpoint, upload a Closed Image, and upload an Open Image. Keep the same visual style and aspect ratio across all days.
Keep at least one item active
Disabled items do not appear in the usable calendar. Make sure at least one day stays active.
Leave Disabled Image empty
Do not use Disabled Image for new Advent Calendar items. The current validation treats this field as legacy and flags it when present.
Enable Touchpoint date overrides
Open each linked Touchpoint and turn on Override interaction dates, then set the start and end dates for that specific day.
Make every day window unique
Keep the linked Touchpoint date windows separate. Advent Calendar days must not overlap.
How day status works
| Calendar day state | What participants see | Can they open the day? |
|---|---|---|
| Before the linked Touchpoint start date | The Closed Image | No |
| During the linked Touchpoint active window | The Open Image | Yes |
| After the linked Touchpoint end date | The Open Image remains visible | No |
Unlock timing follows the campaign timezone used by the landing page.
Validation checklist
Before you publish, confirm all of the following:
- the shared header is configured
- the calendar has at least one item
- at least one item is active
- every active item has both a closed and open image
- every active item is linked to an existing active Touchpoint
- every linked Touchpoint has
Override interaction datesenabled - no linked Touchpoint date windows overlap
Disabled Imageis left empty
Common validation issues
| Validation key | Message | Fix |
|---|---|---|
landing_page.advent_calendar.arguments.missing | Advent calendar layout is active but configuration is missing | Go to Landing Page > Layout Settings and configure the advent calendar |
landing_page.advent_calendar.items.empty | Advent calendar has no items configured | Go to Landing Page > Advent Calendar and add calendar items |
landing_page.advent_calendar.items.none_active | Advent calendar has no active items - all items are disabled | Go to Landing Page > Advent Calendar and enable at least one calendar item |
landing_page.advent_calendar.item.closed_day_image_uri.missing | Advent calendar item {{item_index}} is missing a closed day image | Go to Landing Page > Advent Calendar > Item {{item_index}} and upload a closed day image |
landing_page.advent_calendar.item.open_day_image_uri.missing | Advent calendar item {{item_index}} is missing an open day image | Go to Landing Page > Advent Calendar > Item {{item_index}} and upload an open day image |
landing_page.advent_calendar.item.disabled_image_uri.present | Advent calendar item {{item_index}} should not have a disabled image | Go to Landing Page > Advent Calendar > Item {{item_index}} and remove the disabled image field |
landing_page.advent_calendar.item.collectible_id.missing | Advent calendar item {{item_index}} has no collectible/touchpoint assigned | Go to Landing Page > Advent Calendar > Item {{item_index}} and select a collectible/touchpoint |
landing_page.advent_calendar.item.collectible_id.not_found | Advent calendar item {{item_index}} references a collectible '{{collectible_id}}' that does not exist | Go to Landing Page > Advent Calendar > Item {{item_index}} and select a valid collectible, or add the missing touchpoint to your campaign |
landing_page.advent_calendar.item.collectible_id.disabled | Advent calendar item {{item_index}} is linked to disabled collectible '{{collectible_name}}' | Either enable the collectible '{{collectible_name}}' in Build > Touchpoints, or select a different active collectible for item {{item_index}} |
landing_page.advent_calendar.item.collectible.date_override.missing | Collectible '{{collectible_name}}' used in advent calendar item {{item_index}} does not have date overrides enabled | Go to Build > Touchpoints > {{collectible_name}} > Dates and enable 'Override interaction dates', then set specific start and end dates for this calendar day |
landing_page.advent_calendar.collectibles.dates.overlap | Advent calendar collectibles '{{collectible_1_name}}' and '{{collectible_2_name}}' have overlapping date ranges | Go to Build > Touchpoints and adjust the date ranges so each collectible has its own exclusive time period without overlaps |
See Validation & publishing for the full publish workflow.
Related
Choose a layout
Compare Advent Calendar with the other landing page layouts.
Configure the header
Set the shared header used above the calendar grid.
Touchpoint dates override
Configure the per-Touchpoint dates that control each Advent day.
Touchpoints
Review the Touchpoints that feed the calendar items.
Landing Page reference
Check the shared landing page rules, assets, and responsive behavior.
