Skip to content
ConsultEvo

How to Add Google AdSense to WordPress: Approval and Ads

To add Google AdSense to WordPress, create or use one AdSense account, add and connect your site, pass Google’s site review, and then install either one site-wide Auto Ads snippet or code for a specific manual ad unit. Code installation alone does not approve a site, and ads may not appear immediately after a correct installation.

The practical decision is twofold: first choose whether Google should identify potential placements across eligible pages or whether you need a defined ad format and location. Then choose one WordPress implementation method that safely places the required code. Site Kit by Google is the documented WordPress option, while a maintained code-insertion method or controlled child-theme implementation can be an alternative.

This guide separates account status, code presence, and ad delivery so that a missing ad is not mistaken for an approval or policy decision.

Check eligibility and site readiness before applying

Before signing up, confirm that you have a Google Account, original content that you own, a site that complies with Google’s Publisher Policies, and a payment country or territory supported by AdSense. Google permits one AdSense account per publisher, so resolve access to an existing account instead of applying for a second one. See Google’s AdSense account eligibility and signup guidance and Publisher Policies.

  • Content: Publish useful material created from scratch or otherwise owned by you. A site does not necessarily need to be complete before an account is created, but Google must approve the site before ads can serve.
  • Access: Make important pages and navigation available to visitors and reviewers. Avoid login barriers, under-construction screens, or restrictions that prevent Google from reviewing the site.
  • Policy readiness: Review prohibited content, invalid-traffic risks, and other publisher obligations before adding advertising.
  • Privacy: Prepare advertising disclosures and consent handling appropriate to your audience and jurisdictions.

Account creation, site connection, and site approval are separate states. Treat them as separate checkpoints rather than one submission event.

Choose the AdSense model before choosing the WordPress method

Auto Ads and manual ad units are different advertising strategies. Site Kit, a code-insertion method, a widget, a block, or a child theme are WordPress implementation choices. Do not add multiple copies of the same site-wide code because the chosen advertising model and the chosen insertion method are separate decisions.

Auto Ads

One site-wide snippet

Use this when you want Google to identify potential placements across eligible pages. You retain format and placement controls in AdSense, but Google determines potential locations.

Manual ad unit

A defined format and location

Use this when you need a particular unit in a sidebar, feed, template, or article location. You create the unit in AdSense and place its code in the corresponding WordPress area.

Google Site Kit can connect AdSense, place its code, support onboarding and site review, and display AdSense data in WordPress. It is an alternative to manually inserting the same site-wide code, not an additional snippet to combine with another method.

A maintained code-insertion tool may also work for site-wide code, but verify its current compatibility and maintenance yourself. Do not rely on a named third-party plugin as a required or Google-endorsed component. For custom work, use a child theme and only proceed when you have backup, deployment, and recovery access. Editing a parent theme can lose changes during an update, and a theme-file error can make the site inaccessible. WordPress documents the risks in its guidance on editing theme files.

Classic themes may expose Appearance > Widgets or a Customizer widget interface. Block themes generally use Appearance > Editor, including template parts, patterns, and blocks. The active theme, WordPress version, user role, and administrator settings determine which controls are available.

Create an AdSense account and connect your site

Sign in to a Google Account, start AdSense, enter the site URL and payment country or territory, and accept the terms. Add the site in AdSense if it was not included during signup. Connect it with an approved verification method, such as the AdSense code or Site Kit, and confirm that the verification is present on a live page Google can access.

The AdSense account owner is responsible for the account, review, and policy response. The WordPress administrator is responsible for site access and code placement. Google says reviews usually take a few days, but some take 2 to 4 weeks. There is no guaranteed response date. Read Google’s site connection and review instructions for the current process.

01Set up the accountThe publisher confirms that no second AdSense account is being created, enters the site and payment territory, and accepts the terms. The account owner owns this decision.
02Connect the siteThe WordPress administrator uses Site Kit or one other supported method and checks a live page. A connected site is ready for review, not approved to serve ads.
03Wait for reviewGoogle reviews the site for policy and access conditions. The account owner monitors AdSense for the status rather than treating code presence as approval.
04Proceed or remediateAfter approval, enable the selected setup. If Google requests changes or rejects the site, the publisher addresses the stated content, access, or policy issue and requests review again when ready.

For an internal handoff, record the site URL, connection status, review status, review start time, next-action owner, and next action. This is a proposed operating record, not a Google schema. Keep the review status separate from implementation verification because a connected site can still be pending or require changes.

Install Auto Ads across the site

In AdSense, open the Auto Ads setup for the site and obtain the code. Add it across the site using Site Kit or one other appropriate header-level method. Interface labels can vary by account and rollout, so follow the current AdSense and Site Kit instructions rather than relying on one fixed menu path.

Auto Ads analyze page structure, content, layout, and existing Google ads to identify placements where ads may perform well. They can adjust to screen sizes and site changes, while the publisher retains controls over supported formats and placement settings. This behavior does not guarantee higher revenue. Google’s Auto Ads overview explains the current model.

Use exactly one intended site-wide insertion method. After adding the code, view a live page and confirm that the snippet appears in the rendered page source. If Site Kit is active, remove an older theme or plugin copy before troubleshooting. Ads still require site approval and may take time to appear after a correct installation.

Create and place a manual ad unit

In AdSense, create an ad unit, name it for its intended location, choose a format, and copy the generated unit code. Select the format according to the page structure:

  • Display: A versatile choice for a defined area such as a sidebar or other container. Use responsive sizing when it suits the available space.
  • In-feed: Use it inside a genuine visual list, such as a repeated article or product listing. It is not a generic ad for any page area.
  • In-article: Use it within article content. Google suggests placing one about two paragraphs into an article, but that is implementation guidance, not a performance promise. The documented container minimum is 250 pixels wide.

Google describes these formats in its AdSense ad-unit guide and provides additional In-article implementation guidance.

Choose the WordPress location after choosing the format. On a classic theme with widget areas, use Appearance > Widgets or the available Customizer interface. On a block theme, use Appearance > Editor and the appropriate template part, pattern, or block. For an article placement, use a controlled content or template method that preserves the generated code. Check the live page on desktop and mobile and verify the container width.

Check script permissions

A Custom HTML block can sanitize scripts for users who lack the required capability. If the code disappears after saving, compare the saved block with the live page output and check the user role. Do not keep pasting the same script into multiple blocks. Use a site-wide method for Auto Ads and a placement method that preserves the manual unit code. See WordPress guidance on Custom HTML blocks.

Use a concrete troubleshooting sequence when ads are missing

Handle a missing ad as a sequence of distinct checks. The publisher or account owner handles account and policy status; the WordPress administrator handles code, theme, cache, and page access.

  1. Approval: Check the site’s AdSense status first. Code can be present while the site is pending or not approved.
  2. Code presence: View a live page and confirm that the intended Auto Ads or manual-unit code is present in the expected location.
  3. Scope: Confirm that Auto Ads code is site-wide if that is the plan, and confirm that the manual unit is on the intended template or page.
  4. Duplication: Check Site Kit, plugins, theme code, and old snippets for duplicate site-wide insertion.
  5. WordPress behavior: Check user permissions, block sanitization, theme changes, and whether a theme update removed a direct edit.
  6. Delivery conditions: Regenerate the cache and recheck the live page. Review login barriers, consent state, page restrictions, and the possibility that delivery needs more time.

If direct theme edits were used, confirm that the code survived the update and that the site remains accessible. Keep a recovery route before making another change.

Measure performance without treating one placement as a universal winner

Use AdSense reports to review available ad-unit and account metrics such as revenue, impressions, clicks, and applicable rate metrics. Interpret results by format, device, placement, traffic source, consent state, and date range. Use AdSense to answer how ad inventory performed. Use an analytics tool separately to understand users, sessions, navigation, and engagement. A WordPress analytics plugin does not replace AdSense reporting.

Custom channels can group units by placement, size, topic, site section, or traffic source. An ad unit can belong to multiple channels, so channel totals may overlap. Do not add overlapping channel totals as though each channel represented exclusive inventory. Review Google’s guidance on custom channels and AdSense reporting.

For an optional internal comparison process, define one raw observation as one reporting period, site, ad unit, placement variant, device group, and format. Keep the reporting period and all dimensions in the record. A summary metric belongs to the same declared aggregation scope and should not be mixed with raw observations. If multiple reporting jobs can write the same record, enforce a database unique key and use a transactional upsert. A lookup-then-create sequence is not race-safe.

Suggested decision sequence: identify the placement hypothesis, keep the page template and device group explicit, change one principal placement variable, wait for sufficient activity, then compare consistent date ranges. If consent, traffic source, layout, or ad format changed at the same time, treat the result as confounded rather than declaring a winner.

Review before changing a placement
  • Are the site, ad unit, format, placement, device group, and date range comparable?
  • Is there enough observed activity to make the comparison useful?
  • Did the change affect one principal placement variable rather than several?
  • Do custom-channel memberships overlap and make totals non-additive?
  • Is one person responsible for interpreting the result and approving the next change?

Include privacy and policy requirements in the launch

Personalized ads may use historical activity such as previous searches, site visits, app use, location, or demographic information. Non-personalized ads use contextual information but may still use cookies or identifiers for limited purposes such as frequency capping and aggregated reporting. Google explains the distinction in its guidance on personalized and non-personalized ads.

Before enabling delivery, the site owner or privacy lead should confirm that the privacy policy includes relevant advertising disclosures, consent behavior fits the site’s audience and jurisdictions, and personally identifiable information is not sent to Google. Google discusses consent obligations for relevant regions, including the EEA, United Kingdom, and Switzerland. Requirements vary by implementation and jurisdiction, so this is a launch dependency rather than a WordPress menu setting. Review Google’s publisher privacy and consent guidance and related non-personalized ad guidance.

Keep the setup maintainable

Record which method inserts site-wide code, who owns the AdSense account, which ad units exist, and where manual units are placed. Keep unit names aligned with their actual locations. When changing a theme or plugin, test live pages after the change, confirm that only one intended site-wide snippet remains, and preserve a recovery path.

For help coordinating this work with broader operational workflows, see ConsultEvoServices overviewA relevant starting point for coordinating implementation ownership, validation, and operational workflows.