Skip to main content

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.

Both ship empty and disabled

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.

config/marketing.config.ts
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.

FieldWhat it controls
enabledShow/hide the banner entirely.
textMain descriptive copy.
buttonTextCTA button label.
buttonLinkCTA URL (external links get rel="noopener noreferrer").
iconSrcPath to a brand icon (e.g. /assets/sponsor/your-brand.svg).
iconAltAlt text for the icon.
Two switches, one banner

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.

FieldWhat it controls
enabledWhether to show a fallback card at all.
namePromoted brand/product name.
shortDescriptionOne-line pitch.
logoUrlLogo image path.
websiteUrlClick-through URL.
ctaTextButton label.
Use it for self-promotion

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