Beginner's Guide for WordPress / Start your WordPress Blog in minutes

How to Insert Ads Within Your Post Content in WordPress

Do you want to insert ads within your post content in WordPress?

Your post content is the place where visitors are most engaged with your website, which makes it the perfect place to show an ad.

In this article, we will show three ways to insert ads within your post content in WordPress.

How to insert ads within your post content in WordPress

Why Insert Ads Within Your Post Content in WordPress?

Banner and sidebar ads are a great way to make money online blogging with WordPress. However, they’re also easy for visitors to ignore. 

People visit your site to read your content, and may not pay as much attention to your sidebar or other areas of the page. Since your post content gets the most attention from visitors, it’s the perfect place to show ads.

With that being said, let’s look at three different ways to insert ads within your post content in WordPress.

If you prefer to jump straight to a particular method then you can use the links below.

1. AdSanity

One way to insert ads within your post content is by using the AdSanity plugin.

AdSanity is a premium WordPress ad management plugin. It allows you to place ads on any page, post, or widget-ready area using shortcode.

You can then either upload your own ads or show advertisements from third-party networks such as Google AdSense. For more information, see our guide on how to manage ads in WordPress with AdSanity plugin.

First, you’ll need to install and activate the plugin. If you need help, then please see our guide on how to install a WordPress plugin.

Upon activation, go to AdSanity » Create Ad.

Creating an add using the AdSanity WordPress plugin

To get started start, you’ll need to give your ad a title by typing into the field that shows ‘Give this ad a title.’

Your site visitors won’t see the title since it’s for your own reference only.

Adding a title to your WordPress ad

Next, you need to choose the kind of ad that you want to create. One option is to build your own ad and host it on your website, which is perfect for selling ads on your WordPress blog.

Another option is to use the ad code provided by a program like Google AdSense.

To start, let’s see how you can create a hosted ad using AdSanity’s built-in tools. First, click on the ‘Ad Hosted On Site’ tab.

Next, you can choose how big your advertisement will be on your website by opening the ‘Ad Size’ dropdown and choosing a size from the list.

How to create a hosted ad in WordPress

Once you’ve done that, you’ll need to type a tracking URL into the ‘Tracking URL’ field. This is the URL that the ad will link to.

By default, this URL will open in the same browser tab. However, you may want it to open in a new tab, particularly if the advertisement is linking to someone else’s website.

To make this change, simply check the ‘Open in a new window’ box.

Adding a tracking URL to your WordPress ad

Once you’ve done that, scroll to the Ad Image section. Here, you can upload the image that WordPress will use as your ad.

To upload a banner or other ad graphic, simply click on ‘Set ad image.’ You can then upload or choose an existing image from your WordPress media library.

Insert ads within your post content in WordPress

To help organize your ads, you may want to create some advertisement groups. For example, you might create a ‘holiday advertisements’ group for all the ads you plan to use around the holiday season.

To create an advertisement group, click on the Add New Group link. This adds a new section where you can type in the title for the group.

Inserting ads within your post content in WordPress

Just like WordPress categories and subcategories, you can arrange your advertisement groups into parent-child relationships.

If you have lots of different ads, then organizing them into parent and child groups can make it easier to find exactly the ad you’re looking for.

When you’re happy with how your advertisement group is set up, click on the ‘Add new Group’ button to save your changes.

To add your advertisement to a group, simply check the group’s box.

Parent and child ad groups

Once you’ve finished working on your ad, it’s time to publish it. If you want to show the ad right away, then go ahead and click on Publish.

Another option is to schedule the ad so it will show up on your WordPress website at some point in the future. To schedule your ad, click on the ‘Edit’ link next to ‘Publish forever.’

Publishing an ad on your WordPress website

WordPress will now show some settings that you can use to set the date and time when this ad will be published.

You can also use these settings to choose when the ad will be put back into a draft state. When this happens, the ad will disappear from your WordPress blog or website.

If you don’t want the ad to expire, then just click on the ‘Publish Forever’ button.

Scheduling a WordPress advertisement

You’ve now successfully created a hosted ad.

While you can sell advertising space directly to other businesses, many website owners use an advertising network instead. These networks are often hassle-free because you don’t have to deal with advertisers or worry about collecting money.

Instead, the network decides which ads to place on your site, collects the payment, takes their management fee, and then sends the rest of the money to you.

If you’re using an advertising network, then click on the External Ad Network tab.

Inserting ads within your post content in WordPress

Next, type in a title and add your advertisement to any groups following the same process described above.

You can also choose a size for your ads. If you’re using Google AdSense, then you may want to see our guide on the highest performing Google AdSense banner sizes and formats. We also have a complete guide on how to optimize your AdSense revenue in WordPress.

Once you’ve done that, you’re ready to copy the advertisement code provided by your network. Then, simply paste this code into the ‘Ad Code’ section.

Adding advertising code to your WordPress website

When you’re happy with how your ad is set up, you can either publish it or schedule it following the same process described above.

No matter what kind of ad you create, the next step is placing the ad on your website. The steps are exactly the same for hosted ads and ads provided by a network.

To position your ad on any page, post, or widget-ready area go to AdSanity » Manage Ads.

On this screen, find the ad that you just created and click on its shortcode link. This will copy the shortcode for this advertisement.

Inserting ads within your post content in WordPress using shortcode

You can now either create a new page or post, or open one for editing. Then, simply find the exact place where you want to show this ad within your post content, and create a new shortcode block.

You can then go ahead and paste the code into this block. For step by step instructions, see our beginner’s guide on how to add a shortcode in WordPress.

If you’ve already published the ad, then you can visit the page or post to see the ad within your post content. If you scheduled the advertisement instead, then the ad will appear on your site at the date and time chosen by you.

2. Ad Inserter

Another option is to use Ad Inserter. This is a WordPress ad management plugin that can show both hosted ads and advertisements provided by a network.

If you’re using a network then you can simply paste your ad code into the Ad Inserter plugin. However, if you’re creating a hosted ad, then you’ll either have to write the code yourself, or get it from the person who is paying to show their ad on your website.

First thing you need to do is install and activate the free Ad Inserter plugin. If you need help, then please see our guide on how to install a WordPress plugin.

Upon activation, go to Settings » Ad Inserter.

The Ad Inserter WordPress plugin

On this screen, each tab is a different advertisement. This allows you to create multiple different ads, and place them on your website.

You can now either type in or copy/paste the code for the advertisement that you want to show within your post content.

Insert ads within your post content in WordPress using Ad Inserter

The next step is placing this ad on your website. One option is to add the advertisement to any page, post, or widget-ready area using a shortcode.

Another option is to tell Ad Inserter to automatically add this advertisement to every post, at a certain location such as after every third paragraph.

If you want to add this advertisement to your posts automatically, then start by checking the ‘Post’ box.

The Ad Inserter advert management plugin

Next, you’ll need to open the ‘Insertion’ dropdown and choose where Ad Inserter should show this ad.

Since we want to insert ads within the post content, you’ll typically want to choose either Before Paragraph, After Paragraph, Before Image, or After Image.

Placing the ad within your WordPress post content

After choosing an option from the list, type in exactly where this ad should appear.

For example if you wanted to show the ad after the second paragraph, then you would type in ‘2’ as you can see in the following image.

Inserting ads within your post content in WordPress

When you’re happy with your settings, click on the ‘Save Settings’ button.

Ad Inserter will now insert this ad within your post content, in your chosen location.

Saving your ad settings

Just like we mentioned earlier, you can also place this ad on your site using a shortcode.

To do this, click on the ‘Manual’ button and then check the ‘Shortcode’ box.

Adding an ad to your post content using shortcode

Once you’ve done that, just copy the Ad Inserter shortcode. You can then click on the ‘Save Settings’ button to save your ad.

With that done, you’re ready to place this shortcode on any page, post, or widget-ready area. For step by step instructions, you can see our guide on how to add a shortcode in WordPress.

3. Code Method

You can also add an advertisement to your post content in WordPress using code.

Since you’re editing your site’s code, this isn’t the most beginner friendly method. However, it does allow you to create ads without having to install a special ad management plugin.

To insert an ad using code, either open your theme’s functions.php file, create a site-specific plugin, or use a code snippets plugin.

You can then add the following code:

//Insert ads after second paragraph of single post content.
add_filter( 'the_content', 'prefix_insert_post_ads' );
function prefix_insert_post_ads( $content ) {
    $ad_code = '<div>Ads code goes here</div>';
    if ( is_single() && ! is_admin() ) {
        return prefix_insert_after_paragraph( $ad_code, 2, $content );
    return $content;
// Parent Function that makes the magic happen
function prefix_insert_after_paragraph( $insertion, $paragraph_id, $content ) {
    $closing_p = '</p>';
    $paragraphs = explode( $closing_p, $content );
    foreach ($paragraphs as $index => $paragraph) {
        if ( trim( $paragraph ) ) {
            $paragraphs[$index] .= $closing_p;
        if ( $paragraph_id == $index + 1 ) {
            $paragraphs[$index] .= $insertion;
    return implode( '', $paragraphs );

This code will show an advertisement after the second paragraph of a post’s content.

If you want to show your ad in some other location, then you simply need to change the following section:

    if ( is_single() && ! is_admin() ) {
        return prefix_insert_after_paragraph( $ad_code, 3, $content );

In the sample code above, you can see that we’re inserting the ad after the third paragraph.

Once you’ve done that, you can go ahead and either type in or paste your ad code. This is the code that controls how your ad looks and acts.

You’ll add this code as the $ad_code value, which is where it says ‘Add code goes here.’

    $ad_code = '<div>Ads code goes here</div>';

After you’ve done that, you’re ready to publish your ad. To do this, either activate your site-specific plugin, save your code snippet, or save the changes you’ve made to your site’s functions.php file.

Now if you visit your website, you should see your ad live.

We hope this article helped you learn how to insert ads within your post content in WordPress. You may also want to learn how to increase your blog traffic, or check out our list of the best WordPress tools and SEO plugins that you should use.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit – a collection of WordPress related products and resources that every professional should have!

Reader Interactions

212 CommentsLeave a Reply

  1. Hey,
    What is the meaning of “Permissions for ads access” in your new 1.1.1 update in this plugin?
    Please explaim.

    Thank you.

    • Just copy the function and rename one for have a different function, then choose another paragraph … easy ;-)

  2. Thank you so much, I have my adsense shows in the middle of the post. I’ve tried some other tutorial but this tutorial really work like a charm.

  3. Please which plugin can i use to add “Read Also(another post)” within my post content to link to other post within my website for users to read another post.

  4. Hi,

    I installed your plugin and did every step you instructed. But I can’t see the ads in my post.

  5. Hi. Great thanks for the code. However, is it possible to increase the space a little before and after the ad, like increasing the margin slightly or something like that. Thanks

  6. what should i do if i want to put ads on videos…
    i have movie site and i want to put ads on movies videos..
    please help….

  7. Nice tip, I was looking for it… but for some reason, the code (the plugin I don’t know, didn’t use it, only the code) insert a random orphan closure paragraph tag () in the end of the post.

  8. I have tried you plugin INSERT ADS and completely satisfied as it doesn’t require any coding skills

  9. I have a post adverts google ad above the content and it causes the adsense code to be shown when shared on fb. Any suggestions?

  10. Hi,

    I want to have a [show more] after the second paragraph and a [/show more] after the last paragraph of all posts, to show only on mobile devices.

    I’ve tried ad inserter but the close [/show more] doesnt quite work. Is there anything you could recommend for me to get this working?


  11. How can I have a Facebook box slide up at the end of the content?
    Just like

    When you finish reading and you reach the end of the content, facebook box slides up

  12. Hi,

    I am using a insert post ad plugin on my blog, its working fine except the position of the ad which is left. How can I move it to center?

  13. Hello,
    I use this code and it works well on my blog. Now i want to add more 1 extra ads code to display after another paragraph.
    Please help.

  14. The plugin method is great and I’ve added a couple of ads; one appears after 3rd paragraph and the other appears at the end of the content. This is exactly what I’m looking for since editing the code is always a pain for me every time my site’s theme gets updated. I know I should be using a child theme, but that’s just a lot of mess — your method is much cleaner and less headache. Thanks.

  15. Is there a way to set which ads will show for various post categories? For instance, I might show a different CTA for a technology post than I would for finance post.


  16. Not happy now. Added the code and now my site is broken. What have I done wrong. I cant even load my site anymore?

    I added the code to the bottom line as is explained in here. then removed the “ads code goes here” and replaced with my adsense code. But now my site wont even load. HELP please.


  17. Hi Syed,

    The site specific plugin method you provided is working like a charm for me. Thanks!

    Is there any way to trigger the site specific plugin only if a blog post has a minimum number of paragraphs?

    For example- I want the ad to appear only if the blog post is at least 10 paragraphs long. Is there any way to add that criteria to the site specific code you provided? The ad should appear only if the minimum para criteria has been satisfied.

    Any help would be appreciated!


  18. Hey, I added above codes to my functions.php file but then I got these errors:

    Warning: session_start(): Cannot send session cache limiter – headers already sent (output started at /home1/srijan1998/public_html/ in /home1/srijan1998/public_html/ on line 139

    Warning: Cannot modify header information – headers already sent by (output started at /home1/srijan1998/public_html/ in /home1/srijan1998/public_html/ on line 1228

    so I decided to logout my dashboard, i tried to login back by going to my w-admin page, these are errors showed up on blank screen.

    I’m just not able to login, could you help please?

  19. Please where do I implement this code in the functions.php file. You didn’t mention to insert the code after a specific line. Thanks

  20. Thanks for the plugin. However, when I deselect the posts and pages options in the settings section it will not save that setting.

    Either posts or pages or both have to be checked for the settings to be saved.

    Is there a way around this?

  21. Hi,

    Plugin works fine but how can i center the div class?

    display: block margin left right auto; text-align: center….nothing works :/


  22. Can you please tell me how can i display the ad before 1st paragraph. I am using div float right and would like to display the ad beside first paragraph

  23. Hi,

    Great code snippet. How can you use it to add more than one advert? I need to add two adverts inside the post. This works great for the first one after paragraph 10 but when I tried adding:

    if ( is_single() && ! is_admin() ) {
    return prefix_insert_after_paragraph( $ad_code2, 16, $content );

    where $ad_code2 is the second adsense code, it shows nothing?

    Any help on this will be highly appreciated :)


    • Don’t return the content before you have added both ads.

      if ( is_single() && ! is_admin() ) {
      $content = prefix_insert_after_paragraph( $ad_code1, 10, $content );
      $content = prefix_insert_after_paragraph( $ad_code2, 16, $content );
      return $content;

      I implemented a loop add the code in for each adverts before returning the content.

      In my example I am actually storing my adverts in a database then based on the targeting criteria I return an object with all the adverts for the specific ad unit placement. It them loops and add each advert. I have used various different classes in my plugin, so you will need to change the function name to suit yours.

      if ( is_single() && ! is_admin() ) {
      $adverts = $this->get_ads_query(3);
      foreach($adverts as $advert){
      $content = $this->insert_into_content( stripslashes_deep($advert->code), 2, $content );
      return $content;

    • Hi Indy

      You can use the other filter

      Given code this

      add_filter( ‘the_content’, ‘prefix_insert_post_adsNew’ );

      function prefix_insert_post_adsNew( $content ) {

      $ad_code = ‘Ads code goes here’;

      if ( is_single() && ! is_admin() ) {
      return prefix_insert_after_paragraph( $ad_code, 10, $content );

      return $content;

      This should work . Do not remove the previous filter just add this below the existing filter

      • You are great! thanks for second ads filter. but some posts have not enough paragraph count.

        It does not have the total count of paragraphs. I want to add to the end of the post in the second filter.

        How do I do it? sorry for my english thanks!

  24. I’m afraid the code isn’t working anymore.. any tips?
    Does it need to be under Single.PHP for some themes maybe?

  25. Hi I just downloaded the plugin and it is exactly what I needed.

    However I have a question which I hope you can answer.

    I have a lot of articles where my ads don’t apply to. Is there a way to just add the ad when I need it?

    I know you have the option to include o or exclude from the current and future posts but what about the old posts? Do I have to do this manually?

  26. Hello! I am looking to add a custom Pin It button after every first image in my posts. It seems like this method might work. How do I have it show up after the first image, not the first tag? Thanks!

  27. wow! I loveth this. Thanks for the brainwave. But can I install the plugin to add ads, and at the same time I used the code method as well?

    Urgent reply Pls…

    • Plus one. Great plugin. The ability to right align and wrap content around next paragraph (float: right?) would be great. I fiddled around with WP custom css for #boxmap but could not get it right. Any tips.

    • You can do either style the div element or add Your Ad code here tag to align the ads in center of the post.

      Hope it helps.

  28. I’ve installed the plugin and choose the setting ‘post’ but the Addoesn’t show anywhere within the post. I’ve also added the code above to the functions.php file but it didn’t work either and was just a blank page. Can you please help

  29. How would this function work if you wanted to add two ads. Say one after the 2nd paragraph and then another one after the 4th paragraph?

    • Yes it would be good to know how to do this? I would also like to add in another advert in paragraph 4 for example but duplicating the code results in an error

  30. Please I’m new to blogging and ads, not to talk of the codes. I want to know if its possible to to add the AdSense code in posts using a smartphone.

  31. Hi, wanted to know that why do you have above the fold ad on your site?

    Please elaborate, as I read it’s bad for seo?

    • We do not have any ads above the fold. We have a banner which expands and shows links to different sections of our website. We also don’t think that above the fold ads are bad for SEO unless they are disruptive. Particularly on mobile devices, ads placed just before the content make it difficult for users to tap on links.


Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.