Hello, I'm not sure if this is the correct place to ask but I am new to HubSpot and have been working on integrating Google Sheets so that new/updated rows will create/update contacts in HubSpot. Everything seemed to be working well but occasionally there will be a random "--" or a whole row will not migrate. Could anyone explain why this may be happening?
Hi @chobro , nice catch on the manual Zap run. That outcome actually explains what was happening.
What you’re seeing is a pretty common edge case with Zapier-triggered updates into HubSpot. In 2025, the Google Sheets trigger still relies on row-change detection, not guaranteed row completeness.
If a row is edited in quick succession, or if formulas recalculate asynchronously, Zapier can fire before all cell values are fully resolved. HubSpot then receives a payload where a required field is temporarily empty, which results in the -- placeholder or the record being skipped. When you manually re-run the Zap, Zapier re-reads the row in a stable state, so the missing fields suddenly appear.
HubSpot itself doesn’t partially save required properties. If a required contact property is missing at the moment the API call happens, HubSpot rejects or sanitizes that field. That’s why the task history says “required field missing” even though the sheet looks correct when you inspect it later. This is consistent with how required properties behave during imports and API writes (https://knowledge.hubspot.com/properties/create-and-edit-properties )
If you want to avoid this going forward, two practical tips that usually help: first, avoid formulas in required fields and instead write final values into the cell Zapier reads. Second, add a short delay or “line-itemizer” step in Zapier so the trigger fires after the row has fully settled. Zapier isn’t transactional, so HubSpot just gets whatever snapshot exists at trigger time.
Since manual runs consistently fix it, your mapping is fine. It’s almost certainly a timing issue between Sheets recalculation and Zap execution, not random data loss on HubSpot’s side.
Did my answer help? Please mark it as a solution to help others find it too.
Ruben Burdin HubSpot Advisor Founder @ Stacksync Real-Time Data Sync between any CRM and Database
Hi @chobro , nice catch on the manual Zap run. That outcome actually explains what was happening.
What you’re seeing is a pretty common edge case with Zapier-triggered updates into HubSpot. In 2025, the Google Sheets trigger still relies on row-change detection, not guaranteed row completeness.
If a row is edited in quick succession, or if formulas recalculate asynchronously, Zapier can fire before all cell values are fully resolved. HubSpot then receives a payload where a required field is temporarily empty, which results in the -- placeholder or the record being skipped. When you manually re-run the Zap, Zapier re-reads the row in a stable state, so the missing fields suddenly appear.
HubSpot itself doesn’t partially save required properties. If a required contact property is missing at the moment the API call happens, HubSpot rejects or sanitizes that field. That’s why the task history says “required field missing” even though the sheet looks correct when you inspect it later. This is consistent with how required properties behave during imports and API writes (https://knowledge.hubspot.com/properties/create-and-edit-properties )
If you want to avoid this going forward, two practical tips that usually help: first, avoid formulas in required fields and instead write final values into the cell Zapier reads. Second, add a short delay or “line-itemizer” step in Zapier so the trigger fires after the row has fully settled. Zapier isn’t transactional, so HubSpot just gets whatever snapshot exists at trigger time.
Since manual runs consistently fix it, your mapping is fine. It’s almost certainly a timing issue between Sheets recalculation and Zap execution, not random data loss on HubSpot’s side.
Did my answer help? Please mark it as a solution to help others find it too.
Ruben Burdin HubSpot Advisor Founder @ Stacksync Real-Time Data Sync between any CRM and Database
Hi @chobro and welcome 🎊, we are so glad to have you here!
Thanks for reaching out to the HubSpot Community!
I understand that you are using this integration "Google Sheets". Please let me know if that's not the case.
- Are there any data formatting issues (such as blanks, special characters, or mismatched data types) in the relevant Google Sheet columns? - Have you confirmed that your field mappings and sync conditions include all intended fields and rows without mismatches? - Have you checked the error logs or task history in your integration tool or HubSpot for any reasons reported for failures or skipped rows?
The more info, screenshots (without sensitive/confidential information), and details you can provide, the better the Community can assist.
Thank you for the reply! I have verified that there are no data formatting issues and the field mappings are correct and have not changed from the data record before the one with the issue. The error task history says that the required field is missing but there is definitely data within in the required field on Google Sheets.