{"id":284463,"date":"2026-06-14T13:58:19","date_gmt":"2026-06-14T13:58:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/product-tag-sync-for-hubspot\/"},"modified":"2026-06-14T13:57:57","modified_gmt":"2026-06-14T13:57:57","slug":"product-tag-sync-for-hubspot","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/product-tag-sync-for-hubspot\/","author":23375099,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Product Tag Sync for HubSpot","header_author":"nowdigiverse","header_description":"Automatically assign HubSpot contact tags based on WooCommerce product purchases. Map products to HubSpot custom property values and sync contacts on order completion.","assets_banners_color":"273545","last_updated":"2026-06-14 13:57:57","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/www.nowdigiverse.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":27,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"nowdigiverse","date":"2026-06-14 13:57:57"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.jpg":{"filename":"icon-128x128.jpg","revision":3572069,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-128x128.png":{"filename":"icon-128x128.png","revision":3572069,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.jpg":{"filename":"icon-256x256.jpg","revision":3572069,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3572069,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3572069,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3572069,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3572069,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3572069,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3572069,"resolution":"1","location":"assets","locale":"","width":1916,"height":857},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3572069,"resolution":"2","location":"assets","locale":"","width":1917,"height":861}},"screenshots":{"1":"screenshot-1.png Settings Tab: Configure your HubSpot Private App token and Contact Property.","2":"screenshot-2.png Product Mappings: Easily map WooCommerce products to specific HubSpot tags."}},"plugin_section":[],"plugin_tags":[267101,1150,8904,147865,286],"plugin_category":[45,58],"plugin_contributors":[267102],"plugin_business_model":[],"class_list":["post-284463","plugin","type-plugin","status-publish","hentry","plugin_tags-contact-sync","plugin_tags-crm","plugin_tags-hubspot","plugin_tags-product-tags","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_category-user-management","plugin_contributors-nowdigiverse","plugin_committers-nowdigiverse"],"banners":{"banner":"https:\/\/ps.w.org\/product-tag-sync-for-hubspot\/assets\/banner-772x250.png?rev=3572069","banner_2x":"https:\/\/ps.w.org\/product-tag-sync-for-hubspot\/assets\/banner-1544x500.png?rev=3572069","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/product-tag-sync-for-hubspot\/assets\/icon-128x128.png?rev=3572069","icon_2x":"https:\/\/ps.w.org\/product-tag-sync-for-hubspot\/assets\/icon-256x256.png?rev=3572069","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/product-tag-sync-for-hubspot\/assets\/screenshot-1.png?rev=3572069","caption":"screenshot-1.png Settings Tab: Configure your HubSpot Private App token and Contact Property."},{"src":"https:\/\/ps.w.org\/product-tag-sync-for-hubspot\/assets\/screenshot-2.png?rev=3572069","caption":"screenshot-2.png Product Mappings: Easily map WooCommerce products to specific HubSpot tags."}],"raw_content":"<!--section=description-->\n<p><strong>Product Tag Sync for WooCommerce &amp; HubSpot<\/strong> bridges WooCommerce and HubSpot by automatically assigning contact property tags when customers purchase specific products.<\/p>\n\n<p><strong>How it works:<\/strong><\/p>\n\n<ol>\n<li>Map your WooCommerce products to HubSpot tag values in the admin panel<\/li>\n<li>When a customer places an order, the plugin creates or updates their HubSpot contact<\/li>\n<li>The mapped tags are appended to the contact's custom property (without overwriting existing tags)<\/li>\n<\/ol>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li>Automatic contact sync on order processing<\/li>\n<li>Admin UI for product \u2192 tag mapping (no code changes needed)<\/li>\n<li>Appends tags without overwriting existing values<\/li>\n<li>Prevents duplicate tag assignments<\/li>\n<li>One-click HubSpot connection test<\/li>\n<li>Product search filter for easy mapping management<\/li>\n<li>Secure token storage (never exposed on frontend)<\/li>\n<li>Silent failure \u2014 never breaks the checkout flow<\/li>\n<li>Detailed logging for debugging (via WP debug log)<\/li>\n<\/ul>\n\n<p><strong>HubSpot Setup Requirements:<\/strong><\/p>\n\n<ul>\n<li>A HubSpot Private App with scopes: <code>crm.objects.contacts.read<\/code>, <code>crm.objects.contacts.write<\/code>, <code>crm.schemas.contacts.read<\/code><\/li>\n<li>A custom Contact property (Multiple Checkboxes type) with defined option values<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the HubSpot CRM API (api.hubapi.com) to sync your WooCommerce customers as HubSpot contacts and tag them based on the products they purchase. HubSpot is a third-party service and is required for this plugin to function; you must provide your own HubSpot account and Private App token.<\/p>\n\n<p>What data is sent, and when:<\/p>\n\n<ul>\n<li>When a customer places an order that contains a mapped product, the plugin sends that customer's email address and the mapped tag value(s) to HubSpot in order to create or update the matching contact record.<\/li>\n<li>When you click \"Test Connection\" in the plugin settings, the plugin sends a request to HubSpot using your token to verify that the connection works.<\/li>\n<li>When you open the Product Mappings tab or click \"Refresh Tags\", the plugin requests your configured contact property definition from HubSpot to load its available tag options.<\/li>\n<\/ul>\n\n<p>Data is only ever sent after you have entered a valid HubSpot Private App token and configured your mappings. No data is sent from the site frontend, and the plugin does not transmit data to any service other than HubSpot.<\/p>\n\n<p>This service is provided by HubSpot, Inc. Please review their policies:<\/p>\n\n<ul>\n<li>Terms of Service: https:\/\/legal.hubspot.com\/terms-of-service<\/li>\n<li>Privacy Policy: https:\/\/legal.hubspot.com\/privacy-policy<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/product-tag-sync-for-hubspot\/<\/code> or install through the WordPress plugins screen.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Navigate to WooCommerce \u2192 HubSpot Tags to configure.<\/li>\n<li>Enter your HubSpot Private App Token and test the connection.<\/li>\n<li>Set your HubSpot Contact Property Name (e.g., <code>product_tag<\/code>).<\/li>\n<li>Go to the Product Mappings tab and assign tag values to your products.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20hubspot%20property%20type%20should%20i%20use%3F\"><h3>What HubSpot property type should I use?<\/h3><\/dt>\n<dd><p>Use a \"Multiple Checkboxes\" field type on the Contact object. This allows storing multiple semicolon-separated values.<\/p><\/dd>\n<dt id=\"will%20this%20overwrite%20existing%20contact%20tags%3F\"><h3>Will this overwrite existing contact tags?<\/h3><\/dt>\n<dd><p>No. The plugin fetches existing tag values, merges with new ones, removes duplicates, and saves the combined result.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20the%20hubspot%20api%20is%20down%3F\"><h3>What happens if the HubSpot API is down?<\/h3><\/dt>\n<dd><p>The plugin fails silently and logs the error. Your customers' checkout experience is never affected.<\/p><\/dd>\n<dt id=\"can%20i%20map%20multiple%20products%20to%20the%20same%20tag%3F\"><h3>Can I map multiple products to the same tag?<\/h3><\/dt>\n<dd><p>Yes. Multiple products can share the same tag value. If a customer purchases both, the tag will only appear once.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Contact sync on order processing.<\/li>\n<li>Admin settings with HubSpot token and property configuration.<\/li>\n<li>Product-to-tag mapping UI.<\/li>\n<li>Tag append logic with deduplication.<\/li>\n<li>Connection test button.<\/li>\n<li>Product filter in mapping table.<\/li>\n<\/ul>","raw_excerpt":"Automatically assign HubSpot contact tags based on WooCommerce product purchases.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/284463","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=284463"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/nowdigiverse"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=284463"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=284463"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=284463"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=284463"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=284463"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=284463"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}