woocommerce / facebook-for-woocommerce

A first-party extension plugin built for WooCommerce. Development is managed by Ventures.
https://woocommerce.com/products/facebook/
GNU General Public License v2.0
211 stars 138 forks source link

Bundled Products Are Automatically Hidden From The Catalog (But Sync Successfully) #1769

Closed robertocyrino closed 2 years ago

robertocyrino commented 3 years ago

πŸ”Ž Isolate the bug

✍️ Describe the bug

When a bundled product created using Product Bundles is added to the catalog, it automatically switches to Sync and hide in catalog in the product's Facebook settings.

Steps to reproduce

  1. Using WordPress 5.6.1 and WooCommerce 5.0.0, start with Product Bundles (tested with version 6.7.3) and Facebook for WooCommerce (tested with version 2.2.0) connected and synced with a FB catalog;
  2. Create a bundled product with the default settings β€” in my case I have added two simple products to the bundle;
  3. In the Facebook settings for that product, switch Facebook sync to Sync and show in catalog and save the changes β€” https://d.pr/i/YBdtgc;
  4. See that the change wasn't saved;
  5. Go to Facebook's Catalog Manager > All Items (in the filters), and see that the bundled product is there, but not visible β€” https://d.pr/i/DFw9cc;
  6. Still in Facebook's Catalog Manager, open that product's details, click Edit Item, and in the Display Options, toggle the Visibility to Make this item visible to buyers. β€” https://d.pr/i/9uSwXI;
  7. See that changes to that product's visibility are properly applied and the product now shows as one of the Activated products.

βœ”οΈ Expected behavior

Either:

  1. If there is a legitimate reason why the product can't be displayed in the catalog, errors should be logged or triggered when attempting to change the visibility settings for the bundled product; or
  2. If the product bundle should be visible, the settings should be saved and synced with Facebook's catalog.
jconroy commented 3 years ago

Hey @robertocyrino can you do me a favor a post a screenshot of your entire product page for that bundle please? I just want to check a few settings. (Inventory and Facebook tabs)

robertocyrino commented 3 years ago

Hi @jconroy. I was preparing this for you and while testing, I created a bundled product with Type bundle (not bundle, virtual), which then synced and showed on FB perfectly.

I've asked SomewhereWarm about the product types and how bundles can be set as non-virtual and found that the issue can be solved by changing the product's Shipping Settings (Bundle Type must be "assembled", otherwise, the product type will switch from bundle to bundle, virtual, and Facebook will automatically hide it from the catalog.

https://d.pr/i/U2IIfQ Full Size: https://d.pr/i/U2IIfQ

manospsyx commented 3 years ago

Hey all,

Thanks so much for looking into it!

From a shipping point of view, Bundles are classified as assembled or unassembled:

"Unassembled" bundles are not necessarily virtual, but ->is_virtual() will return true for the "container" product of the collection.

So if an unassembled bundle contains physical products only, then ideally our merchants should be able to list it on FB :)

I'm wondering if there's a filter we could use to determine this? Is there a place in the codebase where the plugin checks whether a product is virtual or not, and if yes, can we filter the result of the check?

creativecaro commented 3 years ago

The solution to switch from "assembled" to "unassembled" doesn't work for me because I rely on shipping cost calculations to come from an external supplier and choosing "assembled" (to fix the Facebook catalog visibility issue) breaks the automated shipping calculations from the external supplier (Printful).

foosantos commented 2 years ago

Reported on 4712263-zen.

densitysk commented 2 years ago

I have the very same issue also with Composite products plugin. When the composite is "unassembled" the product can get synced to Facebook catalog but it is hidden. WooCommerce is stuck on the option Show and Hide (show and sync does not do anything) however in Facebook catalog itself I can make the composite product active and it works as it should. However once there is any kind of automatic sync by the Facebook for WooCommerce plugin, all is deactivated in the Facebook catalog again. It would be great, if this could be solved for both bundles and composites since both have the same identical issue.

Assembled option is not a good solution because sellers rely on correct calculation of shipping weights depending on components used. Assembled composites or bundles would therefore charge too little or too much for shipping (both of which is bad)

jdoles commented 2 years ago

This still seems to be an issue with bundles functionality. I confirmed with support that the only workaround, for now, is setting the bundles to assembled. Otherwise, [visibility] is set to "staging" instead of "published".

Unfortunately, this doesn't work for everyone. Any idea on when this might be addressed? The issue seems to be quite old for a paid extension.

CGA8C commented 2 years ago

New report in 5319055-zen