Blogger: show ads inside posts (not between)

[2011-01-15] dev, hack, blogger
(Ad, please don’t block)

This post explains how to show Google’s Adsense ads directly after the content of each post, before the comments. Currently, one can only show them after a complete post, which means that they will be pushed back to the very end on single-post pages.

Step 1: Enable ads between posts.

  • Go to “Design → Page Elements” and edit “Blog Posts”. There, you have to enable “Show Ads Between Posts”.
    • Check out how your blog looks now. If you are already happy with it, you are done.
    • Note, though, that ads will appear after all comments when single posts are shown. This might not be what you want.
  • Google will show at most 3 ads on each page which includes ads in the sidebars. Thus, if you have 3 ads in the sidebars, none will ever appear between posts.
Step 2: Change the location of the ads.
  • Go to “Design → Edit HTML”.
  • Under “Edit Template” you have to “Expand Widget Templates”.
  • Show ads inside posts: Search for the following text and insert the code between the comments (you can include the comments themselves or not, it doesn’t matter).
        <b:if cond='data:post.hasJumpLink'>
        <!-- begin: custom -->
        <b:if cond='data:post.includeAd'>
        <!-- end: custom -->
        <div class='post-footer'>
    Explanation: the “br” tag after the “if” condition adds extra spacing. It must have its entities escaped (&amp; etc.), because the meta-language is XML and HTML is only embedded inside. Thus, if you are not using XML as HTML macros, you must escape verbatim HTML.
  • Prevent ads from appearing between posts: Add comments (<!-- and -->, printed in bold below) before and after the following if element.
        <b:if cond='data:post.includeAd'>
        <b:if cond='data:post.trackLatency'>
Related post:
  1. Tips for Google Blogger: avoiding lock-in and more