{"id":362110,"date":"2026-09-02T04:27:48","date_gmt":"2026-09-02T04:27:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/advert-affiliate-tracking\/"},"modified":"2026-09-02T04:27:40","modified_gmt":"2026-09-02T04:27:40","slug":"useadvert-affiliate-marketing-sales","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/useadvert-affiliate-marketing-sales\/","author":23558612,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3.0","stable_tag":"1.3.0","tested":"7.1","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"UseAdvert Affiliate Marketing & Sales","header_author":"Advert","header_description":"Track influencer- and affiliate-driven sales in WooCommerce with Advert. Reports conversions, reverses commissions on refunds, and syncs creator coupon codes into your store.","assets_banners_color":"12192d","last_updated":"2026-09-02 04:27:40","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/useadvert.com\/integrations\/woocommerce","header_author_uri":"https:\/\/useadvert.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":42,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.3.0":{"tag":"1.3.0","author":"useadvert","date":"2026-09-02 04:27:40","revision":3677139}},"upgrade_notice":{"1.3.0":"<p>Adds HPOS compatibility and fixes duplicate conversion reporting. Recommended for all stores.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3677138,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3677138,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3677138,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3677138,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.3.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3677138,"resolution":"1","location":"assets","locale":"","width":2880,"height":1200}},"screenshots":{"1":"The Advert settings screen under WooCommerce, where the Webhook Secret and Refund Secret are entered."}},"plugin_section":[],"plugin_tags":[369,5403,591,130300,387],"plugin_category":[35,45],"plugin_contributors":[278745],"plugin_business_model":[],"class_list":["post-362110","plugin","type-plugin","status-publish","hentry","plugin_tags-affiliate","plugin_tags-commission","plugin_tags-coupons","plugin_tags-influencer-marketing","plugin_tags-referral","plugin_category-advertising","plugin_category-ecommerce","plugin_contributors-useadvert","plugin_committers-useadvert"],"banners":{"banner":"https:\/\/ps.w.org\/useadvert-affiliate-marketing-sales\/assets\/banner-772x250.png?rev=3677138","banner_2x":"https:\/\/ps.w.org\/useadvert-affiliate-marketing-sales\/assets\/banner-1544x500.png?rev=3677138","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/useadvert-affiliate-marketing-sales\/assets\/icon-128x128.png?rev=3677138","icon_2x":"https:\/\/ps.w.org\/useadvert-affiliate-marketing-sales\/assets\/icon-256x256.png?rev=3677138","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/useadvert-affiliate-marketing-sales\/assets\/screenshot-1.png?rev=3677138","caption":"The Advert settings screen under WooCommerce, where the Webhook Secret and Refund Secret are entered."}],"raw_content":"<!--section=description-->\n<p>Advert Affiliate Tracking connects your WooCommerce store to <a href=\"https:\/\/useadvert.com\">Advert<\/a>, an influencer and affiliate marketing platform. It answers one question reliably: which creator drove this sale?<\/p>\n\n<p><strong>What it does<\/strong><\/p>\n\n<ul>\n<li><strong>Link attribution.<\/strong> A creator's tracked link carries an <code>adref<\/code> code. The plugin records it against the customer's session and pins it onto the order at checkout, so attribution survives an offsite payment gateway and a customer who never returns to the thank-you page.<\/li>\n<li><strong>Coupon attribution.<\/strong> If no link code is present, the plugin falls back to the first coupon applied to the order.<\/li>\n<li><strong>Refund reversal.<\/strong> Add your Refund Secret and a refunded order automatically reverses the creator's commission \u2014 cancelling a pending sale, or clawing back a charge still inside its hold window.<\/li>\n<li><strong>Creator coupon sync.<\/strong> Advert generates a unique promo code per creator; the plugin creates the matching WooCommerce coupon and removes it when the campaign ends. Codes that already exist in your store are never taken over.<\/li>\n<\/ul>\n\n<p><strong>Built for modern WooCommerce<\/strong><\/p>\n\n<p>Compatible with High-Performance Order Storage (HPOS) and the Cart &amp; Checkout blocks. Conversions are reported at most once per order.<\/p>\n\n<p><strong>An Advert account is required.<\/strong> The plugin is a client for the Advert service and does nothing on its own. You can create an account at <a href=\"https:\/\/useadvert.com\">useadvert.com<\/a>.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the Advert API at <code>https:\/\/api.useadvert.com<\/code> to attribute sales to creators. It is not optional: attribution is the entire purpose of the plugin, and no data leaves your site until you enter a Webhook Secret on the settings screen.<\/p>\n\n<p>The following requests are made:<\/p>\n\n<ol>\n<li><p><strong>Store registration<\/strong> \u2014 <code>POST https:\/\/api.useadvert.com\/api\/woocommerce\/register<\/code>\nSent when you save your settings, and once when the plugin is activated with a secret already configured.\nData sent: your Webhook Secret and your site URL.<\/p><\/li>\n<li><p><strong>Conversion reporting<\/strong> \u2014 <code>POST https:\/\/api.useadvert.com\/track\/conversion<\/code> or <code>https:\/\/api.useadvert.com\/track\/promo<\/code>\nSent when an order reaches the thank-you page, or transitions to Processing or Completed.\nData sent: the order ID, the order total, the affiliate link code or coupon code applied, a timestamp, and your Webhook Secret. No customer name, email address, or shipping address is transmitted.<\/p><\/li>\n<li><p><strong>Refund reporting<\/strong> \u2014 <code>POST https:\/\/api.useadvert.com\/track\/refund<\/code>\nSent when an order is refunded, and only if you have configured a Refund Secret.\nData sent: the order ID and your Refund Secret.<\/p><\/li>\n<li><p><strong>Coupon sync<\/strong> \u2014 <code>POST https:\/\/api.useadvert.com\/api\/woocommerce\/coupons\/pull<\/code> and <code>...\/coupons\/ack<\/code>\nSent on a recurring schedule (every 5 minutes by default) while a Webhook Secret is configured.\nData sent: your Webhook Secret, and the outcome of each coupon job (created, revoked, or failed).<\/p><\/li>\n<\/ol>\n\n<p>Every request includes a user-agent string identifying the plugin version and your site URL.<\/p>\n\n<p>Advert is operated by Advert. Use of the service is governed by its <a href=\"https:\/\/useadvert.com\/terms\">Terms of Service<\/a> and <a href=\"https:\/\/useadvert.com\/privacy\">Privacy Policy<\/a>.<\/p>\n\n<p><strong>Browser storage.<\/strong> When a visitor arrives via a tracked link, the plugin stores the link code in that visitor's browser <code>localStorage<\/code> under the key <code>advert_ref<\/code>, so the attribution outlives a WooCommerce session that expires first. No cookie is set by this plugin and no personal data is stored in the browser.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>In WordPress admin, go to <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Choose the plugin ZIP and click <strong>Install Now<\/strong>, then <strong>Activate<\/strong>.<\/li>\n<li>Go to <strong>WooCommerce \u2192 Advert<\/strong> and paste your Webhook Secret. You will find it in Advert under <strong>Products \u2192 [Product] \u2192 Connect Your Store<\/strong>.<\/li>\n<li>Optionally paste your Refund Secret, from <strong>Connect Your Store \u2192 Developer API<\/strong>, to auto-reverse commissions on refunded orders.<\/li>\n<\/ol>\n\n<p>WooCommerce must be installed and active.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20advert%20account%3F\"><h3>Do I need an Advert account?<\/h3><\/dt>\n<dd><p>Yes. This plugin reports sales to the Advert service; it does not track affiliates on its own.<\/p><\/dd>\n<dt id=\"will%20a%20customer%20refreshing%20the%20thank-you%20page%20report%20the%20sale%20twice%3F\"><h3>Will a customer refreshing the thank-you page report the sale twice?<\/h3><\/dt>\n<dd><p>No. The plugin marks each order once its conversion has been accepted and will not report it again.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20a%20creator%27s%20coupon%20code%20already%20exists%20in%20my%20store%3F\"><h3>What happens if a creator's coupon code already exists in my store?<\/h3><\/dt>\n<dd><p>The plugin refuses to touch it and reports the job as failed back to Advert. An existing coupon of yours is never re-pointed at a creator.<\/p><\/dd>\n<dt id=\"how%20often%20does%20coupon%20sync%20run%3F\"><h3>How often does coupon sync run?<\/h3><\/dt>\n<dd><p>Every five minutes, using Action Scheduler (which ships with WooCommerce). Developers can change this with the <code>advert_coupon_sync_interval<\/code> filter.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20hpos%3F\"><h3>Is it compatible with HPOS?<\/h3><\/dt>\n<dd><p>Yes. The plugin declares compatibility with High-Performance Order Storage and reads and writes order data through the WooCommerce CRUD API.<\/p><\/dd>\n<dt id=\"can%20i%20point%20the%20plugin%20at%20a%20staging%20environment%3F\"><h3>Can I point the plugin at a staging environment?<\/h3><\/dt>\n<dd><p>Define <code>ADVERT_AFF_API_BASE<\/code> in <code>wp-config.php<\/code> before the plugin loads.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Added: High-Performance Order Storage (HPOS) and Cart &amp; Checkout blocks compatibility declarations.<\/li>\n<li>Added: attribution is now pinned to the order at checkout, so sales through offsite payment gateways are attributed correctly.<\/li>\n<li>Added: conversions are also reported on the Processing and Completed status transitions, not only on the thank-you page.<\/li>\n<li>Added: full translation support and a Settings link on the Plugins screen.<\/li>\n<li>Fixed: a refreshed thank-you page could report the same conversion more than once.<\/li>\n<li>Fixed: deactivating the plugin left the coupon-sync schedule running.<\/li>\n<li>Changed: coupon sync now polls every 5 minutes instead of every minute, filterable via <code>advert_coupon_sync_interval<\/code>.<\/li>\n<li>Changed: activation no longer makes a blocking API call; registration is queued instead.<\/li>\n<li>Changed: secrets are entered in password fields, and the settings form is hardened.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Added: influencer coupon sync \u2014 the plugin registers the site with Advert and applies coupon create\/delete jobs.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added: automatic commission reversal on refund via the Refund Secret.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Track influencer- and affiliate-driven sales in WooCommerce with Advert: attribute orders, reverse commissions on refund, and sync creator coupons.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/362110","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=362110"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/useadvert"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=362110"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=362110"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=362110"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=362110"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=362110"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=362110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}