<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
  <url><loc>https://pubos.in/</loc><lastmod>2026-11-07</lastmod>
  </url>
  <url><loc>https://pubos.in/guides/</loc><lastmod>2026-11-09</lastmod>
  </url>
  <url><loc>https://pubos.in/guides/why-did-my-rpm-drop/</loc><lastmod>2026-11-05</lastmod>
  </url>
  <url><loc>https://pubos.in/guides/adsense-vs-ga4-revenue/</loc><lastmod>2026-11-05</lastmod>
  </url>
  <url><loc>https://pubos.in/guides/ad-server-vs-ssp-discrepancies/</loc><lastmod>2026-11-05</lastmod>
  </url>
  <url><loc>https://pubos.in/guides/ads-txt-sellers-json-checklist/</loc><lastmod>2026-11-05</lastmod>
  </url>
  <url><loc>https://pubos.in/guides/header-bidding-timeouts/</loc><lastmod>2026-11-06</lastmod>
    <image:image><image:loc>https://pubos.in/assets/guides/header-bidding-timeline.webp?v=a183e33fb5</image:loc></image:image>
  </url>
  <url><loc>https://pubos.in/guides/ad-viewability/</loc><lastmod>2026-11-06</lastmod>
    <video:video>
      <video:thumbnail_loc>https://pubos.in/assets/guides/viewability-explained.jpg?v=dff3f3c6aa</video:thumbnail_loc>
      <video:title>What counts as a viewable ad impression</video:title>
      <video:description>A narrated animation of an ad slot on a phone screen. When the reader scrolls past quickly, the ad is never at least 50% in view for one continuous second, so it is not viewable. When the reader pauses, it passes the threshold and counts as viewable. Ends with the thresholds for large display and video ads.</video:description>
      <video:content_loc>https://pubos.in/assets/guides/viewability-explained.mp4?v=a60cc664bd</video:content_loc>
      <video:duration>46</video:duration>
      <video:publication_date>2026-11-06</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
    </video:video>
  </url>
  <url><loc>https://pubos.in/guides/core-web-vitals-and-ads/</loc><lastmod>2026-11-06</lastmod>
    <video:video>
      <video:thumbnail_loc>https://pubos.in/assets/guides/layout-shift-reserved-space.jpg?v=2f3bc6826b</video:thumbnail_loc>
      <video:title>How a reserved ad slot prevents layout shift</video:title>
      <video:description>A narrated side-by-side animation. On the left, an ad loads into a slot with no reserved space and pushes the article text down, so a reader's tap lands on the ad. On the right, the space is reserved before the ad loads and nothing moves. Ends with three ways to prevent layout shift.</video:description>
      <video:content_loc>https://pubos.in/assets/guides/layout-shift-reserved-space.mp4?v=127b33b848</video:content_loc>
      <video:duration>44</video:duration>
      <video:publication_date>2026-11-06</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
    </video:video>
  </url>
  <url><loc>https://pubos.in/guides/consent-and-ad-revenue/</loc><lastmod>2026-11-06</lastmod>
    <image:image><image:loc>https://pubos.in/assets/guides/consent-signal-flow.webp?v=8fd83272e4</image:loc></image:image>
  </url>
  <url><loc>https://pubos.in/guides/lazy-loading-ads/</loc><lastmod>2026-11-07</lastmod>
    <image:image><image:loc>https://pubos.in/assets/guides/lazy-loading-zones.webp?v=7bfe1e1596</image:loc></image:image>
    <video:video>
      <video:thumbnail_loc>https://pubos.in/assets/guides/lazy-loading-explained.jpg?v=b67868046d</video:thumbnail_loc>
      <video:title>Lazy loading ads: eager versus lazy loading</video:title>
      <video:description>A narrated animation of the same article loaded two ways while a reader scrolls partway down and leaves. Loading every ad at once requests six ads for three seen; lazy loading requests four for the same three seen. Ends with how to set the fetch and render margins.</video:description>
      <video:content_loc>https://pubos.in/assets/guides/lazy-loading-explained.mp4?v=d03bc7d35f</video:content_loc>
      <video:duration>49</video:duration>
      <video:publication_date>2026-11-07</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
    </video:video>
  </url>
  <url><loc>https://pubos.in/guides/price-floors/</loc><lastmod>2026-11-07</lastmod>
    <image:image><image:loc>https://pubos.in/assets/guides/price-floor-auction.webp?v=f368d1471e</image:loc></image:image>
    <video:video>
      <video:thumbnail_loc>https://pubos.in/assets/guides/price-floor-sweep.jpg?v=56100f461f</video:thumbnail_loc>
      <video:title>Price floors: too low does nothing, too high leaves ads unsold</video:title>
      <video:description>A narrated animation with made-up numbers: a floor rises across 24 ads. Fewer ads are sold, the average price rises, and in this model total revenue rises then falls. The model assumes some buyers raise their bids to meet the floor, which only a test on your own site can confirm.</video:description>
      <video:content_loc>https://pubos.in/assets/guides/price-floor-sweep.mp4?v=bd8d681a46</video:content_loc>
      <video:duration>44</video:duration>
      <video:publication_date>2026-11-07</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
    </video:video>
  </url>
  <url><loc>https://pubos.in/guides/adding-a-demand-partner/</loc><lastmod>2026-11-07</lastmod>
    <image:image><image:loc>https://pubos.in/assets/guides/demand-partner-checklist.webp?v=0eb4b402d5</image:loc></image:image>
    <video:video>
      <video:thumbnail_loc>https://pubos.in/assets/guides/demand-partner-incremental.jpg?v=1bcec05a16</video:thumbnail_loc>
      <video:title>Does a new demand partner really add revenue?</video:title>
      <video:description>A narrated animation with hypothetical numbers. Existing partners earn $10.00 per 1,000 page views. A new partner's own report shows $1.50, but existing partners fall to $9.00, so the total is $10.50: a real gain of $0.50, not $1.50.</video:description>
      <video:content_loc>https://pubos.in/assets/guides/demand-partner-incremental.mp4?v=f789d1c265</video:content_loc>
      <video:duration>42</video:duration>
      <video:publication_date>2026-11-07</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
    </video:video>
  </url>
  <url><loc>https://pubos.in/guides/invalid-traffic/</loc><lastmod>2026-11-07</lastmod>
    <image:image><image:loc>https://pubos.in/assets/guides/invalid-traffic-flow.webp?v=db0e56584e</image:loc></image:image>
    <video:video>
      <video:thumbnail_loc>https://pubos.in/assets/guides/invalid-traffic-signs.jpg?v=1703a15302</video:thumbnail_loc>
      <video:title>Invalid traffic: spot the signs early</video:title>
      <video:description>A narrated animation with made-up numbers: daily visits are steady until one day visits triple, mostly from a single paid source. On that day time on page collapses and ad clicks per 1,000 visits jump. These are signs to investigate, not proof. Ends with how to protect an ad account.</video:description>
      <video:content_loc>https://pubos.in/assets/guides/invalid-traffic-signs.mp4?v=3ee4052ebf</video:content_loc>
      <video:duration>42</video:duration>
      <video:publication_date>2026-11-07</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
    </video:video>
  </url>
  <url><loc>https://pubos.in/guides/ad-refresh/</loc><lastmod>2026-11-09</lastmod>
    <image:image><image:loc>https://pubos.in/assets/guides/ad-refresh-timeline.webp?v=cda0c0ebe2</image:loc></image:image>
    <video:video>
      <video:thumbnail_loc>https://pubos.in/assets/guides/ad-refresh-explained.jpg?v=55c55d4892</video:thumbnail_loc>
      <video:title>Ad refresh: more ads, or just more ads nobody sees?</video:title>
      <video:description>A narrated animation with made-up timings. During a four-minute visit, a timer that refreshes every 30 seconds loads seven new ads, two while the slot is out of view. Refreshing 60 seconds after each ad is seen loads two, both seen. Ends with Ad Manager's declaration requirement and AdSense's ban on automatic refresh.</video:description>
      <video:content_loc>https://pubos.in/assets/guides/ad-refresh-explained.mp4?v=f8347c236f</video:content_loc>
      <video:duration>51</video:duration>
      <video:publication_date>2026-11-09</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
    </video:video>
  </url>
  <url><loc>https://pubos.in/guides/ad-density-better-ads/</loc><lastmod>2026-11-09</lastmod>
    <image:image><image:loc>https://pubos.in/assets/guides/ad-density-mobile.webp?v=0a19908774</image:loc></image:image>
    <video:video>
      <video:thumbnail_loc>https://pubos.in/assets/guides/ad-density-explained.jpg?v=c04ecf464f</video:thumbnail_loc>
      <video:title>Ad density: how many ads is too many?</video:title>
      <video:description>A narrated animation of a hypothetical mobile article. Ads are added one at a time while a density meter rises: four ads and a sticky anchor come to 17.5%; nine ads and the anchor reach 34.9%, past the 30% limit in the Better Ads Standards.</video:description>
      <video:content_loc>https://pubos.in/assets/guides/ad-density-explained.mp4?v=ee74df04a3</video:content_loc>
      <video:duration>48</video:duration>
      <video:publication_date>2026-11-09</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
    </video:video>
  </url>
  <url><loc>https://pubos.in/guides/fill-rate-unfilled-impressions/</loc><lastmod>2026-11-09</lastmod>
    <image:image><image:loc>https://pubos.in/assets/guides/fill-rate-funnel.webp?v=0ccbfb4a82</image:loc></image:image>
    <video:video>
      <video:thumbnail_loc>https://pubos.in/assets/guides/fill-rate-explained.jpg?v=cc182f78d0</video:thumbnail_loc>
      <video:title>Fill rate: useful, but not the goal</video:title>
      <video:description>A narrated animation with made-up numbers: 1,000 ad requests from one slot, of which 810 show an ad and the rest go unfilled for different reasons. Then two set-ups compared: 92% fill at $0.80 earns $0.74 per 1,000 requests, while 75% fill at $1.20 earns $0.90.</video:description>
      <video:content_loc>https://pubos.in/assets/guides/fill-rate-explained.mp4?v=7e6122f05b</video:content_loc>
      <video:duration>45</video:duration>
      <video:publication_date>2026-11-09</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
    </video:video>
  </url>
  <url><loc>https://pubos.in/guides/estimated-vs-finalized-earnings/</loc><lastmod>2026-11-09</lastmod>
    <image:image><image:loc>https://pubos.in/assets/guides/earnings-timeline.webp?v=f6e51480e6</image:loc></image:image>
    <video:video>
      <video:thumbnail_loc>https://pubos.in/assets/guides/earnings-finalized-explained.jpg?v=27cc1bdd31</video:thumbnail_loc>
      <video:title>Estimated vs finalized earnings</video:title>
      <video:description>A narrated animation with made-up numbers: a month of daily estimated earnings adds up, then invalid activity is removed at finalization, leaving a slightly lower finalized total that is paid the following month. Ends with a monthly reconciliation routine.</video:description>
      <video:content_loc>https://pubos.in/assets/guides/earnings-finalized-explained.mp4?v=aedd6e29e6</video:content_loc>
      <video:duration>38</video:duration>
      <video:publication_date>2026-11-09</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
    </video:video>
  </url>
</urlset>
