Marketing Config
Configure the top ad banner and the fallback promotion card shown when no paid placements exist — content, CTA, and imagery — in config/marketing.config.ts.
File: config/marketing.config.ts
This file owns two pieces of always-visible marketing real estate: the top ad banner below the header, and a fallback promotion card that fills paid-placement slots before you've sold any.
Until 1.18.0 this file arrived with a live third-party ad switched on, so a fresh deployment
advertised somebody else's product in the header and again in the catalogue grid. Fill in your
own copy and flip enabled to true when you have something to promote.
export const marketingConfig = defineMarketing({
adBanner: {
enabled: false,
text: 'Your promo message goes here.',
buttonText: 'Get Started Now',
buttonLink: 'https://example.com',
iconSrc: '', // e.g. /assets/sponsor/your-brand.svg
iconAlt: '',
},
mockPromotion: {
enabled: false,
name: '',
shortDescription: '',
logoUrl: '',
websiteUrl: '',
ctaText: 'Learn more',
},
});adBanner — the top banner
A horizontal promo strip below the header.
| Field | What it controls |
|---|---|
enabled | Show/hide the banner entirely. |
text | Main descriptive copy. |
buttonText | CTA button label. |
buttonLink | CTA URL (external links get rel="noopener noreferrer"). |
iconSrc | Path to a brand icon (e.g. /assets/sponsor/your-brand.svg). |
iconAlt | Alt text for the icon. |
The banner needs both adBanner.enabled: true here and the adBanner flag on in features.config.ts. The feature flag is the master switch; this config is the content.
mockPromotion — the fallback card
Shown in the catalog grid and project sidebar only when no real paid promotions exist — so empty placement slots look intentional instead of blank. As soon as a customer buys a promotion, real placements replace it.
| Field | What it controls |
|---|---|
enabled | Whether to show a fallback card at all. |
name | Promoted brand/product name. |
shortDescription | One-line pitch. |
logoUrl | Logo image path. |
websiteUrl | Click-through URL. |
ctaText | Button label. |
Point mockPromotion at your own newsletter, a sister product, or an affiliate offer. It earns from inventory you haven't sold yet, then steps aside automatically when a paying promotion lands.
See also
- Features Config — the
adBannermaster switch - Advertising Config — pricing for the paid placements this card stands in for
- Promotions & Sponsors — how paid placements work