• Setting up this plugin is… well, let’s say, not easy, if you’re neither familiar with WooCommerce (the easier bit) nor with Google Cloud Services (the much harder bit). The good news? You get outstanding information via text and video to help you set up things correctly — there is no way anything will go wrong, the authors of this plugin have it covered, and they set you up with the bare minimum of fuss so that you can start experimenting.

    And it will work straight out of the box indeed, as others have described. Granted, it’s not just point & click, and depending on the complexity of your own setup (in my case, Google Sheets is just ‘middleware’ to allow my customer’s internal database to keep in sync with WooCommerce — so it meant some extra coding on my side), it may take you an afternoon — or just five minutes. YMMV!

    Sadly, however, the free/demo version has extremely limited functionality: just 20 products, and there is no real ‘sync’ — rather, WooCommerce will just export the products you’ve got to Google Sheets, using a very strictly limited number of columns (the barest of bare minimums). This is hardly enough to get a proof of concept — you’d need the full version for that.

    And you will have to deal with all sorts of errors along the way, which do not come from the plugin itself, but rather from the way the several layers of software must communicate to reach across the wide gap between WordPress + WooCommerce and whatever database backend you’re integrating with via Google Sheets. For instance, the following error (coming from Google AppScripts) left me baffled:

    SyntaxError: Unexpected token '<', "<!DOCTYPE "… is not valid JSON
    at ssgsw_sync_data(Integration with WooCommerce.gs:341:18)
    at ssgsw_sync_all(Integration with WooCommerce.gs:324:2)

    It took me a while to understand that this is related to my several layers in front of WP/WooCommerce. At some point, the plugin will give an error because I did have indeed more than 20 products. This error hits the nginx webserver, which gets confused (because it’s a JSON error, not an application error), and emits the code as part of a regular web page, with the JSON embedded in it. This, in turn, is shielded by the protection layer above it: Cloudflare, which will add their own headers and embed some cookies and so forth. When the error finally hits the Google AppScript engine, it has been gone through so many transformations that the AppScript (note: it’s automatically generated by the plugin itself) cannot figure out what kind of reply it got. To deal with this particular environment, therefore, I would need to add some more wrapper code along the way — letting a JSON error to go through the many layers unscathed — or, optionally, have the AppScript add a few more checks before reading whatever it received, and not automatically assume that it’ll get something precisely formatted as expected…

    Granted, my environment may be a bit odd here and there, and rather not exactly what most people have installed. But you should take into account that, except for the simplest of online shops, ‘real’ shops or online marketplaces will have several levels of complexity, and whether this plugin will do its magic or not will depend on a lot of factors… for which you might not be able to get a workaround. At least not with the demo/free version — it’s simply too limited for that.

    On the other hand, without being able to show my customer a proof of concept using this plugin, they hardly will be impressed, or give the go-ahead to use this particular solution.

    There are a few alternatives around — most with some sort of free or demo or trial versions — and, in my case, I had no choice but to remove the plugin and try with something different.

    Which is a pity, really; as said, the plugin is not only very polished and well-coded, it includes the fantastic documentation (with tutorial videos!), which turns a difficult task into a reasonably easy way to set things up.

  • The topic ‘Don’t judge the plugin by the free version!…’ is closed to new replies.