{"id":308436,"date":"2026-05-21T12:47:16","date_gmt":"2026-05-21T12:47:16","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/tactical-ai-agent-detection-for-woocommerce\/"},"modified":"2026-05-21T12:46:33","modified_gmt":"2026-05-21T12:46:33","slug":"tactical-agent-detection","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/tactical-agent-detection\/","author":23493357,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.2","stable_tag":"1.0.2","tested":"6.9.4","requires":"6.3","requires_php":"7.4","requires_plugins":null,"header_name":"Tactical \u2014 AI Agent Detection for WooCommerce","header_author":"Tactical","header_description":"See which AI agents (ChatGPT, Perplexity, Claude, Google AI) visit your store, what they look at, and what they buy. Free tier \u2014 100 agent sessions\/week.","assets_banners_color":"0f172a","last_updated":"2026-05-21 12:46:33","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/tactical-app.work","rating":0,"author_block_rating":0,"active_installs":0,"downloads":21,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.2":{"tag":"1.0.2","author":"sourabhnk","date":"2026-05-21 12:46:33"}},"upgrade_notice":{"1.0.2":"<p>Security fix \u2014 stops rendering the API key into storefront HTML. Recommended upgrade for all installs.<\/p>","1.0.1":"<p>WP.org compliance pass \u2014 script enqueueing is now spec-compliant. No functional changes; safe to upgrade.<\/p>","1.0.0":"<p>First public release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3541972,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3541972,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3541972,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3541972,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.2"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Plugin settings page \u2014 paste API key and verify connection.","2":"Tactical dashboard at tactical-app.work showing real-time agent traffic.","3":"Agent type breakdown by day.","4":"Intent funnel \u2014 browse vs. evaluate vs. buy."}},"plugin_section":[],"plugin_tags":[2353,232,216196,233352,286],"plugin_category":[36,45],"plugin_contributors":[263820],"plugin_business_model":[],"class_list":["post-308436","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-analytics","plugin_tags-chatgpt","plugin_tags-perplexity","plugin_tags-woocommerce","plugin_category-analytics","plugin_category-ecommerce","plugin_contributors-sourabhnk","plugin_committers-sourabhnk"],"banners":{"banner":"https:\/\/ps.w.org\/tactical-agent-detection\/assets\/banner-772x250.png?rev=3541972","banner_2x":"https:\/\/ps.w.org\/tactical-agent-detection\/assets\/banner-1544x500.png?rev=3541972","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/tactical-agent-detection\/assets\/icon-128x128.png?rev=3541972","icon_2x":"https:\/\/ps.w.org\/tactical-agent-detection\/assets\/icon-256x256.png?rev=3541972","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>AI shopping agents from ChatGPT, Perplexity, Claude, and Google AI visit your storefront every day \u2014 browsing products, comparing prices, deciding what to recommend. They're invisible to standard analytics.<\/p>\n\n<p>This plugin connects your WooCommerce store to <strong>Tactical<\/strong>, a third-party agent-traffic intelligence service operated at https:\/\/tactical-app.work. The plugin handles install, snippet injection, and WooCommerce webhook registration; the dashboard, alerts, and reporting live in your Tactical account on tactical-app.work.<\/p>\n\n<p><strong>What you get:<\/strong><\/p>\n\n<ul>\n<li><strong>Agent Traffic Monitor<\/strong> \u2014 real-time counts of agent visits broken down by agent type, day, and product<\/li>\n<li><strong>Intent Signals<\/strong> \u2014 score every session by browse vs. buy intent; compare agent vs. human conversion<\/li>\n<li><strong>Competitive Exposure<\/strong> <em>(paid plans)<\/em> \u2014 see which competitors are sending agents to check your prices<\/li>\n<\/ul>\n\n<p><strong>Why agent traffic matters now:<\/strong><\/p>\n\n<p>Standard analytics filter agent traffic out as \"bot noise\". As of Q2 2026, AI agents make up an estimated 8\u201312% of e-commerce site visits \u2014 and that share is growing month over month. The merchants who see this traffic are the ones positioned to capture the buyers it represents.<\/p>\n\n<p><strong>Tactical pricing \u2014 managed at tactical-app.work:<\/strong><\/p>\n\n<p>Tactical is a tiered SaaS product. The plugin works on every tier, including the free one.<\/p>\n\n<ul>\n<li><strong>Scout \u2014 $0\/mo (free forever)<\/strong> \u2014 Tactical's free tier. 100 agent sessions\/week, top 3 agent types, weekly intelligence brief. No credit card.<\/li>\n<li><strong>Radar \u2014 $39\/mo<\/strong> \u2014 90-day history, all agent types, intent signals, product interest map (10,000 sessions\/mo)<\/li>\n<li><strong>Command \u2014 $129\/mo<\/strong> \u2014 competitive exposure, revenue leakage estimates, custom competitor tracking, unlimited products (50,000 sessions\/mo)<\/li>\n<\/ul>\n\n<p>Annual plans save ~25%.<\/p>\n\n<p><strong>Multi-platform:<\/strong><\/p>\n\n<p>This plugin is for WooCommerce. The same Tactical account also works on Shopify (via the Shopify App Store) and on any custom storefront (via JS snippet at tactical-app.work).<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to <strong>Tactical<\/strong> at https:\/\/tactical-app.work \u2014 a third-party agent-traffic intelligence service operated by the plugin author. The plugin requires an active Tactical account (free Scout tier is sufficient) to function. Without an API key configured on the settings page, no requests are made.<\/p>\n\n<p><strong>Endpoints used:<\/strong><\/p>\n\n<ul>\n<li><strong>Snippet ingest<\/strong> \u2014 <code>https:\/\/tactical-app.work\/api\/ingest<\/code>. The detection script (<code>https:\/\/tactical-app.work\/snippet.js<\/code>) loads on every storefront page view and posts an event payload containing: an anonymised session ID, page URL (path + query string only), referrer domain, user-agent string, scroll\/mouse\/timing heuristics, and your store's API key. No customer PII (no names, emails, IP addresses, payment data, or form contents) is sent.<\/li>\n<li><strong>Connection verification<\/strong> \u2014 <code>https:\/\/tactical-app.work\/api\/verify-connection<\/code>. Triggered only when an admin clicks \"Verify connection\" on the settings page. Sends only your API key (in a request header) so Tactical can confirm the key belongs to this store. No event data.<\/li>\n<li><strong>WooCommerce webhooks<\/strong> \u2014 <code>https:\/\/tactical-app.work\/api\/wc-webhook\/&lt;topic&gt;<\/code>. On plugin activation, three webhook subscriptions are registered with WooCommerce (<code>order.created<\/code>, <code>order.updated<\/code>, <code>product.created<\/code>, <code>product.updated<\/code>). WooCommerce delivers these payloads directly to Tactical with WC's standard HMAC signature when matching events occur on your store. Payload contents are WooCommerce's standard webhook bodies (order or product objects).<\/li>\n<\/ul>\n\n<p><strong>Conditions:<\/strong> events are only sent after you paste a valid API key on the settings page. Without a key, the snippet does not load, no requests are made, and no webhooks are registered.<\/p>\n\n<p><strong>Service terms:<\/strong><\/p>\n\n<ul>\n<li>Tactical Privacy Policy: https:\/\/tactical-app.work\/privacy<\/li>\n<li>Tactical Terms of Service: https:\/\/tactical-app.work\/terms<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>tactical-agent-detection<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install via the Plugins \u2192 Add New screen.<\/li>\n<li>Activate the plugin. (WooCommerce must be installed and active first; this plugin declares it as a required dependency.)<\/li>\n<li>Sign up at https:\/\/tactical-app.work and copy your API key from the dashboard.<\/li>\n<li>Go to Settings \u2192 Tactical and paste the API key.<\/li>\n<li>Click \"Verify connection\" \u2014 you should see a green checkmark.<\/li>\n<li>Open your storefront \u2014 Tactical starts classifying agent traffic immediately.<\/li>\n<\/ol>\n\n<p>The plugin auto-registers WooCommerce webhooks for <code>order.created<\/code>, <code>order.updated<\/code>, <code>product.created<\/code>, and <code>product.updated<\/code> so order and catalog activity is correlated with agent sessions.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20tactical%20account%20to%20use%20this%20plugin%3F\"><h3>Do I need a Tactical account to use this plugin?<\/h3><\/dt>\n<dd><p>Yes \u2014 sign up free at tactical-app.work. The free Scout tier is 100 agent sessions per week with no credit card.<\/p><\/dd>\n<dt id=\"what%20data%20does%20the%20plugin%20collect%3F\"><h3>What data does the plugin collect?<\/h3><\/dt>\n<dd><p>Anonymised session metadata only: user-agent, page URL, referrer, scroll\/mouse heuristics, and product context. No PII, no IP addresses, no cart contents, no customer identifiers.<\/p><\/dd>\n<dt id=\"how%20is%20agent%20traffic%20detected%3F\"><h3>How is agent traffic detected?<\/h3><\/dt>\n<dd><p>Tactical's edge classifier uses user-agent patterns, IP-derived signals (datacenter flag, country \u2014 the IP itself is not stored), request behaviour, and known agent fingerprints to identify ChatGPT, Perplexity, Claude, Google AI, and other AI agents in real time.<\/p><\/dd>\n<dt id=\"will%20this%20slow%20down%20my%20site%3F\"><h3>Will this slow down my site?<\/h3><\/dt>\n<dd><p>No. The script loads asynchronously with the <code>defer<\/code> attribute and weighs under 5 KB. Classification happens at Tactical's edge, off your origin.<\/p><\/dd>\n<dt id=\"how%20do%20i%20cancel%3F\"><h3>How do I cancel?<\/h3><\/dt>\n<dd><p>Cancel from the Tactical dashboard's billing page at tactical-app.work. The plugin keeps working on the free Scout tier after cancellation.<\/p><\/dd>\n<dt id=\"where%27s%20my%20data%20stored%3F\"><h3>Where's my data stored?<\/h3><\/dt>\n<dd><p>In Tactical's Postgres database (US\/EU regions). Aggregated and purged on a 90-day rolling window.<\/p><\/dd>\n<dt id=\"is%20this%20gdpr-compliant%3F\"><h3>Is this GDPR-compliant?<\/h3><\/dt>\n<dd><p>Tactical processes data under the legitimate-interest legal basis. We don't store PII or browser fingerprints, and merchants can request data deletion at any time from the dashboard or by emailing hello@tactical-app.work. A Data Processing Addendum is available on request.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Security: removed the <code>data-key<\/code> attribute from the storefront <code>&lt;script&gt;<\/code> tag. The Tactical API key is a server-side secret used to sign WooCommerce webhook deliveries and authenticate plugin-to-server API calls \u2014 it must not appear in browser-rendered HTML. The snippet identifies the tenant by <code>data-shop<\/code> plus the request Origin, so no key is required client-side. Recommended upgrade for all installs.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Compliance: storefront snippet now loads via <code>wp_enqueue_script<\/code> with the <code>defer<\/code> strategy, decorated via the <code>script_loader_tag<\/code> filter. No more inline <code>&lt;script&gt;<\/code> injection.<\/li>\n<li>Compliance: settings-page admin JS extracted to <code>assets\/admin-settings.js<\/code>, enqueued via <code>wp_enqueue_script<\/code> + <code>wp_localize_script<\/code>. No more inline <code>&lt;script&gt;<\/code> in the admin page.<\/li>\n<li>Compliance: declared <code>Requires Plugins: woocommerce<\/code> so WP correctly blocks activation without WooCommerce.<\/li>\n<li>Readme: added the \"External services\" disclosure, clarified Scout\/Tactical naming in the pricing section, updated Contributors.<\/li>\n<li>Bumped <code>Requires at least<\/code> to WP 6.3 (needed for <code>wp_enqueue_script<\/code> defer\/async strategy).<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Snippet injection on the storefront when an API key is configured.<\/li>\n<li>Settings page with API key, store domain, and \"Verify connection\" button.<\/li>\n<li>Auto-registration of WooCommerce webhooks for order and product topics.<\/li>\n<li>Uninstall removes options + Tactical-managed webhooks.<\/li>\n<\/ul>","raw_excerpt":"See which AI agents (ChatGPT, Perplexity, Claude, Google AI) visit your store, what they look at, and what they buy.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/308436","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=308436"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sourabhnk"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=308436"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=308436"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=308436"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=308436"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=308436"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=308436"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}