Safetag helps publishers meet brand safety requirements by scanning all posts for negative keyword lists provided by advertising partners.

Manage Individual Campaign Lists to Maximize Inventory

Safetag scans each piece of site content identifying negative keywords for each campaign. When publishers combine multiple negative keyword lists into a single exclusion list it severely limits available content. What is excluded from one campaign might be perfectly fine for another. Some clients even prefer edgier content than others.

We know there is considerable overlap between negative keyword lists but there are words like “marijuana” that occupy a gray area. Some clients will stay clear, some don’t care – but what if the client sells CBD products? This is a perfect target. Safetag also manages to Include lists letting publishers separately target this otherwise restricted content.

Detailed Reporting

Brands and agencies send generic lists for their campaigns as required by lawyers. However these lists are generally a hodgepodge of terms and phases added over time with little or no understanding of the impact to individual sites. The downside is a lot of valuable inventory is banned for no rational reason on a particular site.

Safetag reporting gives publishers the ammunition they need to have an intelligent conversation to adjust a negative keyword list resulting in more inventory – a win for both parties.


Add IAB Audience tags to the site and IAB 4 Content tags to each piece of content to further enhance targeting or programmatic revenue.


Safetag includes a built-in ads.txt editor with code validation to make day-to-day updates without the need for a developer. Just to make things a little easier for ad managers.


Users can create one campaign for free to scan all posts with detailed reporting. For larger publishers that need multiple campaigns contact us at for licensing information.

Export Tags for Headless setup

In a headless setup, you can export tags using the REST API. (‘yourdomain/wp-json/safetag-api/v1/post-campaign/post_id’).
Note: This URL needs to be secured.


  • Safetag Settings
  • Safetag Campaigns
  • Safetag Campaign Detail
  • Safetag Campaign Report
  • Safetag Campaign Articles
  • Safetag Ads.txt
  • Safetag Ads.txt Detail
  • Safetag Right Rail


Minimum Requirements

  • PHP version 5.6 or greater (PHP 7.2 or greater is recommended)

Automated Installation

  1. Download, install and activate through the WP Admin panels plugin directory
  2. Enjoy!


Manual Installation

  1. Upload the entire /safetag directory to the /wp-content/plugins/ directory.
  2. Activate Safetag through the ‘Plugins’ menu in WordPress.


Can I get more than one free campaign?

No. Safetag allows one free campaign for one site. The license fee for unlimited campaigns is $99 per site. Discounts are provided for multiple sites. Please contact for more information.

How long does it take to scan content?

The first list takes the longest as it needs to scan all posts for all keywords. We have run campaign lists with over 10,000 terms over 20,000+ posts and it takes about four hours. Safetag keeps an index so additional lists take much less time. Most lists overlap and only new terms are scanned.

What happens when I create a post?

Safetag scans all new posts when they are saved in the background and adds the post to the master index.

What happens when I edit a post?

Safetag does an independent scan when a post is edited to ensure no new terms are added and reindexes the post.

Do I need special permission to manage the Ads.txt file?

Yes. Server editing permissions are required on the ads.txt file.


There are no reviews for this plugin.

Contributors & Developers

“Safetag” is open source software. The following people have contributed to this plugin.


Translate “Safetag” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Resolved global style-breaking issue


  • Export tags using the REST API for headless setup


  • class-safetag-public.php added empty check


  • safetag-public.js put this file for wp_localize_script


  • updated iab tags
  • updated iab audience tags
  • set transient for cache


  • Update Admin Dashboard


  • Updated IAB audience Tag


  • Some minor bug fix


  • Updated
  • Added report chart
  • Added IAB Audience Tags


  • Initial Release