{"id":335048,"date":"2026-08-01T13:27:17","date_gmt":"2026-08-01T13:27:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/adpriva\/"},"modified":"2026-08-03T22:08:09","modified_gmt":"2026-08-03T22:08:09","slug":"adpriva","status":"publish","type":"plugin","link":"https:\/\/arq.wordpress.org\/plugins\/adpriva\/","author":23523357,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.2","stable_tag":"1.0.2","tested":"7.0.2","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"AdPriva","header_author":"AdPriva","header_description":"Privacy-first traffic verification for WordPress. Connect your site to AdPriva, load the verification tag, and see human vs. bot traffic in your dashboard.","assets_banners_color":"","last_updated":"2026-08-03 22:08:09","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/adpriva.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":76,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"adprivadevops","date":"2026-08-01 13:26:55"},"1.0.2":{"tag":"1.0.2","author":"adprivadevops","date":"2026-08-03 22:08:09"}},"upgrade_notice":{"1.0.1":"<p>Metadata and directory-compliance fixes only; no functional changes.<\/p>","1.0.0":"<p>First stable release of AdPriva for WordPress.<\/p>","0.2.0":"<p>Adds an in-admin dashboard and a full Settings page. No action required; your existing connection is preserved.<\/p>","0.1.0":"<p>First public release of AdPriva for WordPress.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1","1.0.2"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The AdPriva dashboard \u2014 KPI cards, verdict breakdown, and a trend chart, inside wp-admin.","2":"The AdPriva Settings page \u2014 tag targeting, consent, dashboard, and advanced endpoint controls.","3":"The AdPriva dashboard widget \u2014 verified events with a human vs. abusive-bot breakdown."}},"plugin_section":[262246],"plugin_tags":[232,22770,396,268633,274166],"plugin_category":[36,54],"plugin_contributors":[274167],"plugin_business_model":[],"class_list":["post-335048","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-analytics","plugin_tags-bot-detection","plugin_tags-privacy","plugin_tags-traffic-quality","plugin_tags-traffic-verification","plugin_category-analytics","plugin_category-security-and-spam-protection","plugin_contributors-adprivadevops","plugin_committers-adprivadevops"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/adpriva.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>AdPriva verifies your traffic with cryptographic proofs so you can tell real, human visits from\nabusive bots. Install the plugin, click <strong>Connect with AdPriva<\/strong> (a secure OAuth sign-in \u2014 no API keys\nto copy), and the plugin will:<\/p>\n\n<ul>\n<li>Register and verify your site with AdPriva automatically.<\/li>\n<li>Provision a site placement and load the AdPriva verification tag on your site from the AdPriva CDN.<\/li>\n<li>Show a traffic &amp; validity summary right on your WordPress dashboard, with a link to your full\nAdPriva console.<\/li>\n<\/ul>\n\n<p>The plugin is self-sufficient inside wp-admin:<\/p>\n\n<ul>\n<li><strong>Settings page<\/strong> \u2014 control where the tag loads (post types, exclude logged-in users,\nadministrators, or specific URLs), choose how it cooperates with consent plugins, toggle the\ndashboard widget, and (advanced) override the AdPriva endpoints.<\/li>\n<li><strong>In-admin dashboard<\/strong> \u2014 KPI cards, a human vs. bot verdict breakdown, and a trend chart over the\nlast 7, 30, or 90 days, all without leaving WordPress.<\/li>\n<\/ul>\n\n<p>No personal data about your visitors is collected by this plugin. Verification happens server-side at\nAdPriva using privacy-preserving signals.<\/p>\n\n<h4>Connecting<\/h4>\n\n<p>After activating, open the <strong>AdPriva<\/strong> menu in wp-admin and click <strong>Connect with AdPriva<\/strong>. You will be\nsent to AdPriva to approve the connection for your organization, then returned to your site \u2014 connected.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to AdPriva, a third-party service, to verify your traffic. This is required for\nthe plugin to function.<\/p>\n\n<p><strong>1. AdPriva API \u2014 <code>https:\/\/api.adpriva.com<\/code><\/strong>\nUsed to: complete the \"Connect with AdPriva\" sign-in (OAuth 2.0 authorization-code with PKCE), register\nand verify your site's domain, provision a site placement, and fetch your traffic summary and per-day\ntrend for the dashboard widget and the in-admin dashboard.\nData sent: your site's domain, the OAuth authorization parameters, and the access token issued to this\ninstall. No visitor personal data is sent by the plugin.\nTerms: https:\/\/adpriva.com\/terms \u2014 Privacy Policy: https:\/\/adpriva.com\/privacy<\/p>\n\n<p><strong>2. AdPriva verification tag (CDN) \u2014 <code>https:\/\/cdn.adpriva-ads.com\/tag.js<\/code><\/strong>\nUsed to: load the lightweight verification tag on your site's front end (with your provisioned\nplacement ID) so AdPriva can verify traffic. The script is served from AdPriva's CDN.\nTerms: https:\/\/adpriva.com\/terms \u2014 Privacy Policy: https:\/\/adpriva.com\/privacy<\/p>\n\n<h3>Privacy<\/h3>\n\n<ul>\n<li>The plugin stores a single option in your database holding the AdPriva connection: access\/refresh\ntokens (encrypted at rest using your site's WordPress salts), your placement ID, and your domain.<\/li>\n<li>The plugin does not set cookies and does not collect or store your visitors' personal data.<\/li>\n<li>You can disconnect at any time from the <strong>AdPriva<\/strong> settings page; this revokes the access token and\ndeletes the stored connection. Uninstalling the plugin removes all stored data.<\/li>\n<li>Respecting consent: the tag only loads when connected and when your Settings \u2192 Tag targeting rules\nallow it, and a consent\/privacy plugin can always suppress it via the <code>adpriva_should_load_tag<\/code>\nfilter (the filter is the final override).<\/li>\n<li>Settings are stored in a separate <code>adpriva_settings<\/code> option; they contain no visitor data.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to <code>\/wp-content\/plugins\/adpriva<\/code>, or install it from the Plugins screen.<\/li>\n<li>Activate it.<\/li>\n<li>Open the <strong>AdPriva<\/strong> menu and click <strong>Connect with AdPriva<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20adpriva%20account%3F\"><h3>Do I need an AdPriva account?<\/h3><\/dt>\n<dd><p>Yes. The Connect button signs you in to AdPriva; you approve the connection for your organization.<\/p><\/dd>\n<dt id=\"does%20this%20collect%20my%20visitors%27%20personal%20data%3F\"><h3>Does this collect my visitors' personal data?<\/h3><\/dt>\n<dd><p>No. The plugin sends your site's domain and the connection token to AdPriva. Traffic verification is\nperformed by AdPriva using privacy-preserving signals.<\/p><\/dd>\n<dt id=\"how%20do%20i%20stop%20loading%20the%20tag%3F\"><h3>How do I stop loading the tag?<\/h3><\/dt>\n<dd><p>Disconnect from the AdPriva settings page, or use the <code>adpriva_should_load_tag<\/code> filter to control it.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fixed: the default AdPriva console address now points at console.adpriva.com. The \"Open console\" links in the dashboard, settings page, and widget previously went to the wrong AdPriva app unless you had set an endpoint override.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Compliance: the Contributors field now lists the plugin owner's WordPress.org account, as required for the directory listing.<\/li>\n<li>Removed the unused Plugin URI header and hardened WordPress Plugin Check (strict mode) for a clean review. No functional changes.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First stable release, submitted to the WordPress.org plugin directory.<\/li>\n<li>Connect with AdPriva via OAuth 2.0 authorization-code with PKCE \u2014 no API keys to copy.<\/li>\n<li>Loads the AdPriva verification tag from the CDN with your provisioned placement ID.<\/li>\n<li>Settings page: tag targeting (post types, exclude logged-in users \/ administrators \/ URLs), consent integration mode, dashboard preferences, and advanced endpoint overrides.<\/li>\n<li>In-admin dashboard and dashboard widget: KPI cards, human vs. bot verdict breakdown, and a 7\/30\/90-day trend chart.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>New: in-admin dashboard with KPI cards, verdict breakdown, and a 7\/30\/90-day trend chart (no console trip needed).<\/li>\n<li>New: Settings page \u2014 tag targeting (post types, exclude logged-in users \/ administrators \/ URLs), consent integration mode, dashboard preferences, and advanced endpoint overrides.<\/li>\n<li>New: the dashboard widget can be toggled from Settings, and now links to the in-admin dashboard.<\/li>\n<li>Endpoint URLs resolve as: a wp-config constant wins, then a Settings override, then the built-in default.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release: Connect with AdPriva (OAuth + PKCE), CDN tag injection, and a dashboard traffic widget.<\/li>\n<\/ul>","raw_excerpt":"Privacy-first traffic verification. Connect your site to AdPriva, load the tag, and see human vs. bot traffic in your WordPress dashboard.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/335048","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=335048"}],"author":[{"embeddable":true,"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/adprivadevops"}],"wp:attachment":[{"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=335048"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=335048"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=335048"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=335048"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=335048"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=335048"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}