GUIDE 04 · AD PLACEMENT AND CONSENT
Ad Placement and Consent: Protect the Reading Experience
Plan advertising positions, implement meaningful privacy choices and verify the complete reader journey.
YOUR PRACTICAL OUTPUT
A placement and reader-journey review
Use your own evidence or label a fictional exercise clearly.
Plan an advertising experience you can verify
An approved site still needs a deliberate advertising setup. The objective is a readable publication with understandable privacy choices, appropriate ad positions and evidence that the implementation follows those choices. A visible banner and a visible ad are not enough to establish that the system works correctly.
This guide produces three working records: a placement map, a consent-state test matrix and a controlled launch decision. It focuses on a WordPress publication using AdSense. Provider-specific instructions are linked to official documentation; the proposed operating workflow is AffiliateBest’s editorial recommendation.
If account or site review is still unresolved, start with AdSense Setup and Approval. This lesson teaches implementation decisions; it does not install a consent platform or activate advertising on this theme.
Decide which reader journeys can carry ads
| Page or area | Initial pilot recommendation | Reason |
|---|---|---|
| Long educational article | Consider one position at a natural section boundary | You can observe its effect on a complete reading task |
| Short answer or compact tool | Leave ad-free initially | A small page can become dominated by commercial elements |
| Navigation and download controls | Keep advertising away from the interaction area | A reader should not confuse an ad with the intended action |
| Checkout or lead form | Exclude from the first pilot | Preserve completion and avoid competing interactions |
| Privacy and consent controls | Keep unobstructed and easy to reach | A monetization element must not interfere with privacy choices |
These are starting recommendations, not Google’s universal page-type rules. Create a map with the page group, intended position, supported device widths, integration owner and exclusion rule. Include an explicit “no ads” state. Do not assume that every available gap is inventory worth selling.
For a tutorial, identify the point where the reader completes one idea before starting another. An insertion between a warning and its instructions, or between a table heading and its rows, breaks meaning even if the page remains technically usable. Judge placement in the actual content context.
Make advertising distinguishable from the next action
AdSense placement policies prohibit encouraging accidental clicks and disguising ads as navigation or other content. Google warns about ads near play, download and navigation controls, prohibits unnatural attention such as arrows toward ads, and permits only “Advertisements” or “Sponsored Links” as labels for Google ads. Its policy also prohibits publisher-initiated automatic page or element refresh without a user request.
Official source: Ad placement policies.
In your own review, follow the intended task with your eyes and keyboard before evaluating monetization. Ask what a hurried reader would think each control does. Check both the unloaded and loaded state: a button that moves as advertising appears can create a different interaction from the one the reader intended.
Do not invent a universal safe pixel distance from a specialized example in a policy document. Inspect the actual controls, page movement and touch layout. Use provider-supported formats and settings; a custom timer or overlay is not justified because a different advertising product offers a similar feature.
Choose Auto ads, manual units or a documented combination
With Auto ads, start in AdSense → Ads, edit the site and inspect the preview. Google documents separate controls for formats, in-page ad load, existing-unit optimization, excluded areas and page exclusions. You can apply settings or use the available experiment option. Not every setting supports experiments; page exclusions are one documented exception.
Official source: Set up Auto ads.
| Approach | Useful when | Responsibility you retain |
|---|---|---|
| Auto ads | You want provider-managed placement with limited configuration work | Review enabled formats, exclusions and actual reader journeys |
| Manual units | A specific template position needs deliberate control | Maintain eligible slots, responsive behavior and consent integration |
| Combination | Existing manual inventory has a clear role alongside automation | Document which system owns each position and check interactions |
Our recommended first pilot is the smallest setup you can explain and reverse. Leave additional formats disabled until you have a reason to evaluate them. A preview is a planning aid; it cannot establish how every device, consent state and advertisement will behave.
Keep one owner for the global AdSense integration and a record of any manual unit configuration. A WordPress plugin setting, theme snippet and tag manager may otherwise add overlapping behavior. Before deleting anything, identify its purpose and preserve a rollback copy. Use the maintained integration’s current instructions for manual units rather than copying an unrelated product’s code.
Distinguish page exclusions from area exclusions
Google’s page exclusions stop Auto ads on a specified page or a section using its URL prefix. URLs containing fragments or query parameters are unsupported. Choose the intended scope, apply it and verify representative URLs. An Auto ads exclusion is not evidence that a separately inserted manual unit has been removed.
Official source: Auto ads page exclusions.
Excluded areas affect in-page Auto ads, not overlay formats such as anchors. Google also explains that these exclusions depend on CSS selectors: a changed element ID or layout can invalidate the match. Recheck the affected exclusion after a relevant template change.
Official source: Excluded in-page areas.
For example, a publisher wants an application form to remain ad-free. A section exclusion may address Auto ads, but the owner must also inspect the manual-unit rules and any other provider. Write “all advertising removed from this form” only after checking the components that can actually serve there.
Test the intended page and a neighboring page that should remain eligible. This catches both a missed exclusion and an overly broad one. Record the exact URL pattern and the setting that owns it so that future maintainers do not have to infer the rule from a screenshot.
Separate provider policy, implementation and legal scope
Google’s EU user consent policy covers users in the EEA, UK and Switzerland. It requires legally valid consent for cookies or local storage where required and for personal-data use in ad personalization. It also requires consent records, clear revocation instructions and accessible disclosure of the parties using the data.
Official source: Google EU user consent policy.
Google requires a certified CMP integrated with the IAB Transparency and Consent Framework for personalized ads in those regions. Google’s certification does not establish full compliance with applicable privacy law. Select from the current list for the relevant platform, not an old screenshot of a vendor’s marketing claim.
Official source: Certified CMP requirements.
Map your audience regions, technologies, purposes and vendors before selecting settings. The publisher’s own location alone does not describe the audience. These Google requirements are not a complete global privacy assessment: other regions and other services may introduce additional obligations.
A CMP gathers and communicates choices. The website and connected services must then respond correctly. A decorative cookie banner, a privacy-policy link or an analytics consent setting cannot by itself prove that the advertising stack follows the necessary publisher consent flow.
Configure a maintained CMP and document its coverage
AdSense’s European regulations settings are in Privacy & messaging. Google documents selecting the ad technology providers and clearly identifying the selected parties to users, then setting up consent gathering. Review the actual vendor set and associated disclosures rather than accepting a list you cannot explain.
Official source: Set up and manage your CMP.
- Choose the maintained solution.Confirm current Google certification, web support and coverage for the services you operate.
- Configure the real property.Select the correct site and audience targeting, languages, purposes and providers using the CMP’s current setup instructions.
- Connect the implementation.Identify how it communicates with AdSense and how other tags receive or enforce the relevant choices.
- Review the message.Check readable text, meaningful choices, vendor information and a working route to change preferences.
- Publish and verify the intended configuration.Record the version, test the public behavior and retain the previous configuration for rollback.
This is an operating sequence, not a replacement for a vendor’s implementation instructions. Google’s own messaging and a third-party WordPress CMP can have different delivery mechanisms. Do not install two competing consent dialogs to compensate for uncertainty about one of them.
Ask explicitly which services are covered. An advertising message may not automatically control an independently embedded video, newsletter tracker or analytics integration. Record any uncovered technology and resolve its behavior before treating the consent setup as complete.
Understand what happens when personalization is declined
Google’s consent FAQ states that non-personalized website ads still use cookies and require consent for that use where legally required. Declining personalization is therefore not equivalent to granting storage permission. Work with the CMP provider to prevent advertising cookies from being placed before the required consent.
Official source: European regulations message questions.
AdSense limited ads are a separate mode. Google describes non-personalized delivery with continuing transmission data use; programmatic limited ads can use invalid-traffic-only cookies and local storage. Its documentation says limited ads are enabled by default and can be disabled under Brand Safety → Blocking controls → Ad serving. Publishers remain responsible for assessing applicable obligations.
For a first implementation, choose and document the intended behavior for each state. If you have not established that a fallback mode is appropriate, our conservative recommendation is to keep advertising requests disabled for that unresolved state. Do not silently equate “reject” with permission for every non-personalized service.
A request visible in a developer tool is not by itself proof of a violation, and the absence of a visible ad is not proof that no request occurred. Determine which request, storage operation and purpose are involved, then compare them with the documented configuration and relevant choice.
Test the full consent state sequence
| State | Expected behavior to define | Evidence to capture |
|---|---|---|
| New visitor, no choice | Only the activity permitted for this unresolved state | Message visibility, request timing and relevant storage |
| Accepts selected purposes | Only the corresponding eligible services proceed | Recorded choice and subsequent behavior |
| Declines optional purposes | Declined purposes remain inactive; any fallback is explicitly justified | Requests and storage after refusal |
| Returns with saved choice | The valid choice is respected without contradictory behavior | New-page and reload observations |
| Changes or withdraws choice | Future activity follows the updated state | Reopened controls and post-change requests |
| CMP blocked, slow or unavailable | The documented failure behavior applies | No accidental release of unresolved advertising activity |
Repeat the relevant states using a fresh browser context and a returning visitor context. Open developer tools before navigation when checking early requests. Record the browser, page, region-testing method, CMP version and settings. Changing browser language alone does not establish that a geographic rule was exercised.
Inspect a second page after changing a choice. An implementation can appear correct on the message page but revert after navigation. Also check a reload and the return path from another page. Use a provider-supported test or preview mechanism where available and do not click live advertisements to test tracking.
A timeout must not be treated as acceptance. When a callback repeats, the integration should not create duplicate units or requests. These are implementation acceptance criteria to verify with the maintained integration, not a suggestion to replace its supported consent logic with a homemade timer.
Make changing a choice a usable task
Put the preference control where a reader can find it again, with a clear label such as privacy choices. Test the actual action: opening the dialog, changing a selection, saving it and continuing to read. A link that merely returns to a static policy page does not perform the same function.
Use the CMP’s supported preference or revocation mechanism. Do not manually erase a guessed cookie and assume every connected service has been informed. Inspect subsequent behavior and the next page load. Withdrawal concerns future processing; do not promise that a local button automatically erases data already held by every provider.
Our usability checks are straightforward: keyboard access, visible focus, legible choices, usable zoom and controls that remain reachable on a short mobile screen. A sticky ad, chat widget or bottom bar must not cover the consent controls. Test the complete page stack together, because each component can appear acceptable in isolation.
Reserve space and inspect delayed rendering
Google’s web.dev guidance recommends reserving space for late-loading advertising, using dimensions appropriate to the expected content and viewport. It warns that collapsing an unused reservation can itself cause layout shift. Field and lab observations can differ, so a short load test is not a complete picture of the reading session.
Official source: Optimize Cumulative Layout Shift.
Set a realistic container policy for each supported placement. Do not force an advertisement into an arbitrary box that clips it or hides its controls. If the allowed format needs more space than the mobile column offers, choose another supported format or remove the position from that layout.
Check the sequence rather than a single screenshot: before the request, while loading, after a returned ad, after no ad and after a consent change. Observe the next paragraph and nearby controls. A reserved area that looks generous initially may be preferable to a sudden movement while someone is selecting text.
For a below-the-fold position, use the integration’s supported loading controls if available. Avoid adding an independent lazy loader, refresh loop or timeout that conflicts with the provider’s behavior. “Async” does not establish that consent is handled, that the slot is lazy-loaded or that layout movement is prevented.
Check the public WordPress response after configuration
Record which component owns the CMP, the global advertising code, manual placements and exclusions. Keep those responsibilities in a small configuration table. After a plugin or template update, check the affected public response rather than relying only on a setting that remains saved in administration.
When an optimization plugin delays or combines scripts, verify that it preserves the supported loading order. Inspect a fresh visitor before consent as well as after acceptance. If a concrete timing problem appears, correct the narrow configuration conflict using the vendors’ guidance and retest that sequence.
Use the current AdSense implementation documentation for the selected integration. Google explicitly labels its personalization code examples as illustrative hints rather than working examples. Copying a short snippet from that page does not create a complete consent system.
Official source: Ad personalization code examples.
Keep consent decisions out of shared HTML caches unless the serving design correctly separates visitor states. Test two independent browser contexts to catch accidental reuse. If a cache must be cleared after a change, clear the relevant scope and verify that the updated response reaches a signed-out reader.
Retain the ability to disable an affected placement without removing the reader’s preference controls. A monetization rollback should not make the consent interface disappear while other connected technologies remain active.
Use a focused launch matrix
| Case | Pass condition | If it fails |
|---|---|---|
| Mobile reading and navigation | Content, next action and privacy controls remain usable | Disable or relocate the affected placement |
| Fresh and returning visitors | Observed activity matches the intended consent state | Hold launch and fix the relevant integration |
| Excluded page and neighboring page | The exclusion has the intended scope | Correct the owning rule and retest both |
| Slow or failed third-party load | Reading continues; unresolved consent is not treated as approval | Apply documented failure behavior |
| No returned advertisement | No misleading substitute or disruptive collapse | Revise the container behavior |
| Keyboard and zoom | Controls remain reachable and understandable | Resolve the affected interaction before expansion |
Use local placeholders for layout experiments and the provider’s supported preview or test tools for integration work. Local placeholders can reveal a narrow column or overlapping control, but cannot prove real creative behavior, consent transmission or account eligibility. Label that evidence accurately.
Keep a short screen recording for delayed movement and a redacted request timeline for a timing issue. Do not put full consent records, identifiers or sensitive browsing data into public issue reports. Give the maintainer enough evidence to reproduce the failure without sharing unrelated data.
Evaluate retained value and reading quality together
Choose one meaningful change after the implementation checks pass. Write the hypothesis, eligible pages, comparison period, relevant audience segments and stop conditions. A smaller ad load that preserves useful revenue and reduces interruption can be a better result than a larger gross total with rising abandonment.
In an invented planning example, a placement adds €24 of retained monthly revenue, €6 of additional cash costs and one hour of work valued at €20. Incremental contribution is −€2. The placement has not justified itself on those assumptions, even before considering any measured effect on other revenue or reader behavior.
Use the publisher economics guide for consistent denominators and reconciliation. Keep consent-choice rates descriptive: changing the design to pressure acceptance is not a valid way to repair a weak revenue model.
Low traffic can leave the result uncertain. Record that limitation instead of declaring a winner from a handful of visits. Stop immediately for an identified consent or interaction failure; do not wait for an experiment to collect enough revenue data before correcting it.
Complete the handoff and practice diagnosis
Your launch record should include the placement map, provider settings, CMP configuration owner, intended behavior by consent state, test results, unresolved items and rollback action. “Ready for a limited launch” should mean that the stated scope passed its acceptance checks, not that every future advertisement has been verified.
Scenario 1: An excluded in-page area still has an anchor ad. The exclusion controls a different format. Inspect the overlay settings rather than repeatedly changing the area selector.
Scenario 2: A reader declines personalization and you still see an advertising request. Identify the serving mode, storage behavior and permitted purposes before reaching a conclusion. Neither “all requests are wrong” nor “non-personalized is always fine” is a sufficient diagnosis.
Scenario 3: The privacy control works until a bottom advertisement appears. The combined mobile layout fails even if each component passed alone. Disable the conflicting placement and restore a reachable control before continuing the pilot.
Scenario 4: A deployment changes a template ID used by an exclusion. Recreate the affected exclusion using the current layout and test its scope. An old saved rule is not evidence of a current match.
COMPLETE THE WORK
A placement and reader-journey review
Select one representative page and document the proposed advertising areas and the reader task. Use the verification sections to record actual results for the applicable consent and layout states.
Fields to include
Page; placement; reader task; state tested; observed behavior; issue owner; retest result.
Review before proceeding
Can readers distinguish advertising from page actions? Which required states are still untested? Keep those gaps open in the record.
Give each unresolved item an owner and a next check. Mark an unperformed test as unverified. Keep the original evidence alongside the decision so you can revisit it when conditions change.
Sources and verification limits
Public-source review: . Eleven official Google and web.dev references are linked next to the guidance they support. Their requirements are provider-specific; the placement recommendations, matrices and hypothetical example are AffiliateBest’s educational analysis.
Review current provider instructions and applicable obligations for the actual deployment. This guide is not a jurisdiction-specific legal assessment. It installs no ad tag or CMP, contains no personal publisher identifier and does not claim live consent, advertising, earnings or production verification.
Compare advertising partners before you switch
Evaluate eligibility, agreements and retained value, then prepare a controlled migration.
Review the next decision in your learning path
Return to the monetization hub to connect your advertising implementation with a sustainable operating model.