> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.outpost.pub/llms.txt
> Use this file to discover all available pages before exploring further.

# In-Post Ad Inserter

> Always-on placement of In-Post Box CTAs into your Ghost post content, with site-wide exclusions.

export const PlanStatus = ({tier, status, beta, deprecated}) => {
  const variants = {
    luna: {
      bg: "#8340B9",
      color: "#ffffff",
      border: "1px solid #8340B9"
    },
    voyager: {
      bg: "#6B2FA0",
      color: "#ffffff",
      border: "1px solid #6B2FA0"
    },
    "space-station": {
      bg: "transparent",
      color: "#8340B9",
      border: "1px solid #8340B9"
    },
    "all-plans": {
      bg: "transparent",
      color: "#525252",
      border: "1px solid #a3a3a3"
    },
    labs: {
      bg: "transparent",
      color: "#a16207",
      border: "1px solid #a16207"
    },
    beta: {
      bg: "transparent",
      color: "#a16207",
      border: "1px solid #a16207"
    },
    "invite-only": {
      bg: "transparent",
      color: "#525252",
      border: "1px solid #a3a3a3"
    },
    bespoke: {
      bg: "transparent",
      color: "#525252",
      border: "1px solid #a3a3a3"
    },
    "outpost-hosted": {
      bg: "transparent",
      color: "#525252",
      border: "1px solid #a3a3a3"
    },
    deprecated: {
      bg: "transparent",
      color: "#b91c1c",
      border: "1px solid #b91c1c"
    }
  };
  const chip = (variant, label) => {
    const s = variants[variant] || variants["all-plans"];
    return <span key={variant + ":" + label} style={{
      display: "inline-flex",
      alignItems: "center",
      padding: "0.15rem 0.55rem",
      fontSize: "0.7rem",
      fontWeight: 700,
      letterSpacing: "0.05em",
      textTransform: "uppercase",
      borderRadius: "3px",
      lineHeight: 1.4,
      whiteSpace: "nowrap",
      backgroundColor: s.bg,
      color: s.color,
      border: s.border
    }}>
        {label}
      </span>;
  };
  const tierLabel = {
    "luna": "Luna",
    "voyager+": "Voyager+",
    "voyager-luna": "Voyager + Luna",
    "space-station+": "Space Station+",
    "all-plans": "All plans"
  };
  const tierVariant = {
    "luna": "luna",
    "voyager+": "voyager",
    "voyager-luna": "voyager",
    "space-station+": "space-station",
    "all-plans": "all-plans"
  };
  const statusLabel = {
    "labs": "Labs",
    "invite-only": "Invite-only",
    "bespoke": "Bespoke",
    "deprecated": "Deprecated",
    "outpost-hosted": "Outpost Hosted"
  };
  return <span style={{
    display: "inline-flex",
    gap: "0.4rem",
    flexWrap: "wrap",
    alignItems: "center",
    margin: "0 0 1.25rem 0"
  }}>
      {tier && chip(tierVariant[tier], tierLabel[tier])}
      {status && chip(status, statusLabel[status])}
      {beta && chip("beta", "Beta")}
      {deprecated && chip("deprecated", "Deprecated")}
    </span>;
};

<PlanStatus tier="voyager+" status="labs" beta />

<Info>
  In-Post Ad Inserter (also called "Ad Tool") inserts ads into the body of Ghost posts. Placement can conflict with AutoDisplay CTAs, so set both up carefully.
</Info>

The In-Post Ad Inserter is a middle-ground tool between [CTAs](/features/ctas) and [Ad Campaigns](/features/ad-campaigns). It places **In-Post Box CTAs** at fixed positions within your Ghost post content via the Ghost site plugin. There is no separate "ad inventory" — the tool reuses CTAs from your CTA library, filtered to In-Post Box types (Modern, Classic, Button) and the dedicated `ad` type.

<Note>
  Ad Tool is slated for deprecation. New publications should usually start with [Ad Campaigns](/features/ad-campaigns) for scheduled, audience-targeted ads, or [CTAs](/features/ctas) for general conversion placements. Existing Ad Tool setups continue to work.
</Note>

<Frame caption="In-Post Ad Inserter showing the global toggle, slot configuration, and library tabs">
  <img src="https://mintcdn.com/outpost-eb0cfbad/Puv2oanajvRKHMQC/images/labs/ad-tool.png?fit=max&auto=format&n=Puv2oanajvRKHMQC&q=85&s=7f730d08b862b3a8bdb70e26ac3ee4b0" alt="Ad Tool page with on/off switch, Auto Display Slots tab, Library tab, and Site-Wide Exclusions tab" width="3080" height="6138" data-path="images/labs/ad-tool.png" />
</Frame>

***

## How it works

When enabled, the Ad Tool places CTAs at the positions you've configured (e.g., after the third paragraph, before the last paragraph). The CTAs come from your CTA library, scoped to the In-Post Box and `ad`-type CTAs. You can also exclude specific Ghost tags or URL patterns from displaying ads.

***

## Enabling the Ad Tool

Toggle **The Big Off/On Button** at the top of the Ad Tool page. When off, no ads are injected anywhere on your site.

<Warning>
  Ad Tool can conflict with AutoDisplay CTAs if both are configured to inject at similar positions in post content. Review your placement settings on both before enabling.
</Warning>

***

## Configuration tabs

The Ad Tool has three configuration sections:

### Auto Display Slots

Each slot defines **where** a CTA appears within post content. Slots target positions in the post body (e.g., after a paragraph index, before the last paragraph). Audience targeting works the same way as on AutoDisplay CTAs — slots can be filtered by member type and post tags.

### Library

The Library tab is your CTA library, filtered to the CTA types Ad Tool can place: **In-Post Box (Modern)**, **In-Post Box (Classic)**, **Button**, and the `ad`-type CTAs created from inside Ad Campaigns. Enable a CTA in the library, then assign it to a slot.

### Site-Wide Exclusions

Two ways to exclude content:

* **Tag exclusions** — Ghost tags that prevent ads from running on tagged posts.
* **URL pattern exclusions** — Specific URL refs (paths or patterns) that prevent ads from running on matching pages. Useful for landing pages and one-off URLs.

***

## Ad Tool vs. Ad Campaigns vs. CTAs

|               | In-Post Ad Inserter             | Ad Campaigns                               | CTAs                              |
| ------------- | ------------------------------- | ------------------------------------------ | --------------------------------- |
| **Channel**   | Ghost site (post pages)         | Ghost site (post pages)                    | Ghost site, emails (per CTA type) |
| **Placement** | Always-on, fixed slots          | Always-on within scheduled window          | Anywhere CTAs are configured      |
| **Targeting** | Audience + tag + URL exclusions | Audience + tag targeting + scheduled dates | Per-CTA configuration             |
| **Schedule**  | Always on (when enabled)        | Date-range campaigns                       | Always on (when enabled)          |

All three deliver via the Ghost site plugin and run on the same web pages. They can overlap if you're not careful with placement.

***

## Related features

<CardGroup cols={2}>
  <Card title="Ad Campaigns" icon="rectangle-ad" href="/features/ad-campaigns">
    Scheduled, audience-targeted ads on Ghost post pages.
  </Card>

  <Card title="Sponsorship Boxes" icon="handshake" href="/features/sponsorship-boxes">
    Manually inserted sponsor blocks with custom styling.
  </Card>

  <Card title="CTAs" icon="bullhorn" href="/features/ctas">
    Conversion-focused calls to action. Check for placement conflicts with the Ad Tool.
  </Card>
</CardGroup>

***

## FAQ

<AccordionGroup>
  <Accordion title="Does the Ad Tool affect emails?">
    No. The Ad Tool only places CTAs inside Ghost post pages. Email content isn't touched.
  </Accordion>

  <Accordion title="Can I exclude specific posts from showing ads?">
    Use the **Site-Wide Exclusions** tab to add Ghost tags or URL patterns that prevent ads from running on matching pages. To skip a single post, give it a unique tag and add that tag to the exclusion list.
  </Accordion>

  <Accordion title="Will the Ad Tool conflict with my CTAs?">
    It can. If both the Ad Tool and AutoDisplay CTAs are configured to inject at similar positions in the same post, they may overlap. Review your placement settings for both before enabling Ad Tool on busy pages.
  </Accordion>

  <Accordion title="What's the difference between Ad Tool and Ad Campaigns?">
    Ad Tool is always-on within fixed slot positions. Ad Campaigns is scheduled (date-range) and adds an extra layer of audience and tag targeting on top. Both deliver through Outpost's Ghost site plugin.
  </Accordion>
</AccordionGroup>
