The CMP drives Consent Mode automatically (`googleConsentMode: true` by default).
When you configure a Google bridge, it pushes the _default_ (denied) immediately
before it loads the tag, then issues the _update_ when the visitor decides.
Only add the inline default to your head when Google tags are loaded elsewhere.

For a new Google setup, start with the [Google bridge](/install/choose-setup/#google-tag-manager)
or the [configurator](https://demo.lightning-consent.io/). The bridge is the
recommended way to load a GTM container, GA4 tag, or Ads tag because it keeps
the default-before-loader ordering together with the tag configuration.

## Signal mapping

| CMP category  | Google Consent Mode signal(s)                      |
| ------------- | -------------------------------------------------- |
| `necessary`   | `security_storage` (always granted)                |
| `preferences` | `functionality_storage`, `personalization_storage` |
| `statistics`  | `analytics_storage`                                |
| `marketing`   | `ad_storage`, `ad_user_data`, `ad_personalization` |

## Don't hard-block Google tags

In the `denied` state a Google tag still sends **cookieless pings**, and Google's
conversion/behavioural modelling recovers a large share of conversions you'd
otherwise lose. Hard-blocking throws that away. Prefer the
[Google bridge](/integrations/bridges/#google-gtag--gtm);
[`LightningCMP.debug()`](/guides/verifying/) warns when a Google tag is
hard-blocked.

## The ordering hazard

`wait_for_update: 500` gives the CMP a 500&nbsp;ms window to read the stored
decision before Google tags act on the default — keep it. If a **site-hosted**
`gtm.js`/`gtag.js` loads before the CMP's default, `debug()` surfaces a
`consentmode-order` hint: add the inline `gtag('consent','default',{…denied…})`
block in `<head>` before your tag, or let the CMP load the tag for you via
`bridges.google.tagId`.

To turn the integration off entirely (rare — only if another system owns Consent
Mode): `googleConsentMode: false`.

:::note[More detail coming]
Being migrated from `docs/INSTALL.md` § _“Google Consent Mode v2, in depth.”_
:::