IABConsentBanner

An IAB TCF 2.3 compliant consent banner that displays partner count, purpose summaries, and legitimate interest notices.

Info

c15t is not yet IAB certified. The IAB TCF components are under active development and should not be used in production. APIs and behavior may change before certification is achieved.

IABConsentBanner is a pre-built consent banner that follows the IAB Transparency & Consent Framework (TCF) 2.3 specification. It renders when the consent model is set to 'iab' and includes required disclosures like partner count, purpose summaries, and legitimate interest notices.

Use this component instead of ConsentBanner when you need IAB TCF compliance for programmatic advertising in EU jurisdictions.

When to Use

  • Your site participates in the IAB TCF ecosystem (ad exchanges, SSPs, DSPs)
  • You need to disclose vendor partnerships and data processing purposes per IAB requirements
  • The detected jurisdiction requires IAB TCF compliance (typically EU/EEA)

Basic Usage

Info

The banner only renders when IAB mode is enabled and the GVL (Global Vendor List) has been loaded. If iab.enabled is false or the server does not return GVL data, nothing is rendered.

The IAB banner automatically displays:

  • Title — Heading text from IAB translations
  • Description — Includes the partner count (e.g., "We and our {partnerCount} partners...")
  • Partners link — Clickable link that opens the vendor tab in the preference center
  • Purpose/stack list — Up to 5 purpose/stack names summarizing data usage, with an "and X more" overflow
  • Legitimate interest notice — Required IAB disclosure about legitimate interest processing
  • Scope notice — Service-specific scope disclosure

Buttons

The banner includes three action buttons:

ButtonAction
Reject AllRejects all IAB purposes and closes the banner
Accept AllAccepts all IAB purposes and closes the banner
CustomizeOpens the IABConsentDialog purposes tab

Primary Button

Highlight a specific button as the primary action:

Options: 'reject', 'accept', 'customize' (default: 'customize')

Props

Loading…