I managed to connect my WooCommerce store with Google Sheets using an automation tool. Every time someone places an order on my website, the order details get sent to a spreadsheet automatically.
The problem I’m facing is that all products from one order get crammed into a single row. If a customer buys multiple items, they all show up in one cell instead of being separated. What I really want is each product to have its own row in the sheet.
For example, if someone purchases a shirt, shoes, and a hat in one order, I want three separate rows created - one for each item. I noticed that when I manually export orders from WooCommerce, it can separate items this way, but the automated workflow doesn’t seem to use this same export method.
Has anyone figured out how to make this work? I’ve been stuck on this for a while and could really use some guidance. Any suggestions would be awesome!
Just dealt with this at work. Most tools dump entire orders into single rows instead of breaking down individual products.
You need something that loops through each product and creates separate rows. Basic integrations can’t handle this - they’re built for simple data dumps.
I used Latenode since it can iterate through data arrays. When orders come in, it detects all products and creates individual rows for each one.
Pretty smart setup. It grabs the order data, finds the products array, then loops through to create new spreadsheet rows for each item. You keep all the order details like customer name and order number, but each product gets its own row.
Set it once and forget it. No more cramped cells with jumbled product lists.
Had this exact problem six months ago. Most automation tools see the whole order as one chunk, so everything gets crammed into a single row. Here’s what fixed it: I switched to a platform that actually parses order data correctly. You need something that spots the products array in each order and handles each item separately. I went with Make.com - their iterator module is built for this. My workflow grabs the order data, then the iterator splits each product into its own stream. Each stream makes a new row with the product details plus the order info (customer name, order ID, etc.). Took some tweaking to map everything right, but now each product gets its own line with full order context. Way better for tracking inventory and running analysis.
Been there. WooCommerce dumps order data with products nested in arrays, and most tools just throw that whole mess into text instead of actually processing each item.
You need something that can parse those arrays and split them properly. I’ve watched people hack this with formatters and custom code - there’s a cleaner way.
Latenode nails this. It grabs your WooCommerce webhook, detects the line items array automatically, then creates separate rows for each product while keeping the order context intact (customer info, order ID, etc.).
Best part? No coding or complex formatters. Set up the trigger for new orders, add a loop node for products, map each item to a new Google Sheets row. Done.
I built this for a client selling bundles with 10+ items per order. Now each product gets its own row with full order details. Inventory tracking and reporting became way easier.
Runs automatically once configured. No more cramped single rows with messy product data.
Same headaches here with my e-commerce setup. WooCommerce webhooks send products as nested arrays, but most automation tools just flatten everything into text strings instead of handling each product separately. I fixed this with a custom webhook handler that processes the line_items array properly. It extracts each product with its own order metadata attached. You need middleware that grabs the webhook payload and reformats it before hitting Sheets. I used Zapier’s Code feature - wrote a JavaScript function that takes the incoming order, loops through line_items, and spits out separate records for each product. Each record gets the base order data plus individual product details like SKU, quantity, and price. Your automation platform needs to handle array iteration and data transformation. Without that, everything gets mashed into single rows.
same struggle here! you need automation that actually parses the products array instead of dumping it as one chunk. i used zapier’s formatter to split the line items before sending to google sheets. works great once you nail the mapping, but figuring out those settings was a pain.
Had the exact same problem with a client’s automated reporting setup. WooCommerce dumps order data with all products bundled together, but automation tools see this as one blob instead of separate records you can actually work with. Here’s what fixed it for me: I added a transformation step before anything hits Google Sheets. Used Power Automate since we were already using Microsoft stuff. The magic happens with an “Apply to each” action that grabs the line_items array from WooCommerce’s webhook. For every product in that array, it spits out a new row but keeps all the original order info - customer details, timestamps, all that stuff. The annoying part was keeping everything consistent. Each product row needs the same order number, customer info, and purchase date, but unique product stuff like SKU, name, price, quantity. Once I got it dialed in, an order with five products automatically creates five separate spreadsheet rows. No more messy single-row dumps, and inventory analysis actually makes sense now. Runs completely hands-off.