{"id":383745,"date":"2026-10-12T07:59:47","date_gmt":"2026-10-12T07:59:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/shopping-ads-solutions\/"},"modified":"2026-10-12T07:59:28","modified_gmt":"2026-10-12T07:59:28","slug":"shopping-ads-solutions","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/shopping-ads-solutions\/","author":23583139,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.1","stable_tag":"1.1.1","tested":"7.1.3","requires":"6.4","requires_php":"8.0","requires_plugins":null,"header_name":"Shopping Ads Solutions","header_author":"Shopping Ads Solutions","header_description":"Connect WordPress content and WooCommerce orders, customers and catalog data to your Shopping Ads Solutions workspace.","assets_banners_color":"","last_updated":"2026-10-12 07:59:28","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/shoppingadssolutions.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":28,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.1":{"tag":"1.1.1","author":"shoppingadssolutions","date":"2026-10-12 07:59:28","revision":3740775}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3740805,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3740805,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.1"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[232,597,286],"plugin_category":[36,45],"plugin_contributors":[286007],"plugin_business_model":[],"class_list":["post-383745","plugin","type-plugin","status-publish","hentry","plugin_tags-analytics","plugin_tags-integration","plugin_tags-woocommerce","plugin_category-analytics","plugin_category-ecommerce","plugin_contributors-shoppingadssolutions","plugin_committers-shoppingadssolutions"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/shopping-ads-solutions\/assets\/icon-128x128.png?rev=3740805","icon_2x":"https:\/\/ps.w.org\/shopping-ads-solutions\/assets\/icon-256x256.png?rev=3740805","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Connect a WordPress website to the correct client workspace in the Shopping Ads\nSolutions (SAS) back office. After the website administrator pairs the plugin,\nauthorized workspace users can browse published page text and import selected\nWooCommerce products and product categories into Products &amp; Collections.\nWith separate administrator consent, SAS also synchronizes full order history\nand customer profiles for performance, purchase-frequency and retention analysis.<\/p>\n\n<p>This plugin is a connector for the external SAS service. An existing SAS account\nwith access to a client workspace is required. Contact\n<a href=\"https:\/\/shoppingadssolutions.com\/\">Shopping Ads Solutions<\/a> to arrange workspace\naccess. Installing the plugin alone does not create a service account.<\/p>\n\n<ul>\n<li>Administrator-approved, expiring one-use pairing codes.<\/li>\n<li>Read-only access to published, non-password-protected content.<\/li>\n<li>Optional WooCommerce product and product-category imports.<\/li>\n<li>Explicit manual catalog refresh that preserves strategy notes in SAS.<\/li>\n<li>Recurring, resumable WooCommerce order\/customer refreshes with source deletion reconciliation.<\/li>\n<li>Core order items, refunds, shipping, taxes, discounts, payment references and attribution.<\/li>\n<li>Registered customer profiles and guest order contact\/address details.<\/li>\n<li>Owner-selected extension metadata, with credential fields excluded.<\/li>\n<li>Local access revocation, including when the plugin is deactivated or removed.<\/li>\n<\/ul>\n\n<p>WooCommerce is optional. Without it, the connection supports published pages.\nCommerce access requires WooCommerce 8.2 or later and supports legacy and HPOS\norder storage. Order line items include purchased variations. It does not publish\nads, send marketing, alter orders, or edit website content.<\/p>\n\n<h4>External service and data<\/h4>\n\n<p>This plugin connects to Shopping Ads Solutions only after an administrator pairs\nthe website. The pairing request sends the one-use code, site URL, REST API URL\nand a dedicated random read-only credential over HTTPS to the selected environment:\nhttps:\/\/bo.shoppingadssolutions.com or https:\/\/staging.shoppingadssolutions.com.\nSAS can then request site name, plugin version, published non-password-protected\npage text\/URLs and WooCommerce product\/category names, descriptions, image URLs,\nprices, currency, SKUs and publication-update timestamps. The data supports\nconnection verification, page browsing and the catalog imports selected in SAS.\nWith the separate order\/customer checkbox enabled, SAS can read orders in all\nregistered order statuses (excluding trash and checkout drafts), dates, currency,\nitems and variations, native cost-of-goods values when enabled,\ncoupon\/fee\/shipping\/tax lines, refunds, notes, billing and\nshipping addresses, contact details, payment method and transaction reference,\ncustomer IP\/user-agent, WooCommerce attribution fields and registered customer\nprofiles. Customers without accounts are represented through their orders.\nCustomer\/subscriber accounts without orders are also included. Account creation\nor purchase does not prove email\/SMS marketing permission: normalized consent\nremains unknown. Owner-approved metadata can supply extension-specific consent,\nloyalty, subscription and shipment evidence; these require interpretation before\nautomation use. Arbitrary extension tables, abandoned carts and browsing events\nare not collected by this plugin. Password, order-key, payment-token and card-number\nfields are excluded, as are drafts\/private pages. No tracking scripts are added.\nCredentials and detailed commerce payloads are encrypted in SAS; only a credential\nhash and the approved permission\/metadata selection are saved in WordPress.<\/p>\n\n<p>The administrator initiates pairing. SAS then requests data over authenticated\nHTTPS. Catalog requests are manual. With commerce consent enabled, the SAS worker\nperforms an initial history import, refreshes approximately every six hours and\nsupports manual refresh\/resume. There is no outbound data transmission at plugin\nactivation and no marketing delivery. Old catalog-only pairings do not gain\ncommerce access through an update: the administrator must pair again and check\nthe order\/customer permission. Connections and datasets are isolated per client.\nOrder\/customer details are restricted to SAS users with integration edit access;\nintegration viewers can see aggregate totals and sync progress.<\/p>\n\n<ul>\n<li><a href=\"https:\/\/shoppingadssolutions.com\/privacy-policy\/\">Service privacy policy<\/a><\/li>\n<li><a href=\"https:\/\/bo.shoppingadssolutions.com\/terms\">Service terms<\/a><\/li>\n<\/ul>\n\n<h3>Revocation<\/h3>\n\n<p>Use Revoke website access, deactivate, or uninstall to immediately remove local\naccess. A later SAS connection check reports revoked credentials. Disconnect in\nSAS deletes its usable credential, imported orders\/customer profiles and pending\ncommerce sync runs; imported catalog cards are preserved as workspace content.\nRe-pair to restore access. Source deletions and anonymization propagate after the\nnext complete successful refresh, not immediately; a failed\/partial refresh never\ndeletes unseen records. Changing the approved metadata selection or re-pairing\nwithout commerce access clears the prior commerce dataset in SAS. To request\nremoval of workspace content, use\nthe contact route in the service privacy policy. Uninstalling this plugin removes\nits local connection information; it does not delete previously imported SAS data.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload shopping-ads-solutions.zip in Plugins &gt; Add New &gt; Upload Plugin and activate.<\/li>\n<li>Open Settings &gt; Shopping Ads Solutions and copy the exact Website address.<\/li>\n<li>In the SAS back office, select the client, open Integrations &gt; WordPress, enter that address and generate a code.<\/li>\n<li>Return to the plugin settings, select the matching production or staging back office, select order\/customer access if required, optionally name reviewed business metadata keys, paste the code and pair within ten minutes.<\/li>\n<li>Manage the connection and sync progress in SAS; browse saved orders\/customers or import selected WooCommerce products\/categories.<\/li>\n<\/ol>\n\n<p>Both the website and REST API must use HTTPS on the same hostname. The server\nmust forward the Authorization header to PHP and allow inbound REST requests.\nSupports single-site installations, including WordPress in a subdirectory and\nthe default (plain) permalink configuration. On Multisite, activation succeeds without errors, but pairing and data access\nremain disabled. A notice in the plugin settings and Network Plugins screen\nexplains that a standalone installation is required.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20require%20a%20wordpress%20administrator%20password%20or%20woocommerce%20api%20key%3F\"><h3>Does this require a WordPress administrator password or WooCommerce API key?<\/h3><\/dt>\n<dd><p>No. An administrator confirms a pairing code. The plugin creates a dedicated\ncredential limited to its own read-only endpoints.<\/p><\/dd>\n<dt id=\"where%20do%20i%20manage%20connected%20websites%3F\"><h3>Where do I manage connected websites?<\/h3><\/dt>\n<dd><p>In each SAS client workspace under Integrations &gt; WordPress. In WordPress, use\nSettings &gt; Shopping Ads Solutions to pair or revoke access.<\/p><\/dd>\n<dt id=\"does%20it%20automatically%20update%20imported%20products%3F\"><h3>Does it automatically update imported products?<\/h3><\/dt>\n<dd><p>No. Choose the products or categories in the back office and select Import \/\nrefresh selected. Existing cards are updated without duplicating their source\nidentity or overwriting manually written strategy notes.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.1<\/h4>\n\n<p>Allow clean activation on Multisite while keeping unsupported pairing\/data access\ndisabled. Use a distinctive SHOPADSO prefix for plugin classes, settings, actions\nand query keys. Preserve existing single-site connections during the update.<\/p>\n\n<h4>1.1.0<\/h4>\n\n<p>Add separately approved WooCommerce order\/customer reads, complete business\nrecords, owner-selected extension metadata, safe legacy\/HPOS keyset pagination,\nrecurring SAS synchronization, encrypted datasets and performance\/retention data.<\/p>\n\n<h4>1.0.1<\/h4>\n\n<p>Prepared the directory package, documented the external service and account\nrequirements, added translatable interface text, and made form nonce checks\nexplicit at each administrator action.<\/p>\n\n<h4>1.0.0<\/h4>\n\n<p>Secure tenant\/site-bound pairing, published page browsing, optional WooCommerce\ncatalog selection\/import, credential rotation and local revocation.<\/p>","raw_excerpt":"Read-only connection between your WordPress website and your SAS client workspace.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/383745","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=383745"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/shoppingadssolutions"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=383745"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=383745"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=383745"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=383745"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=383745"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=383745"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}