We all know that form submissions data can be captured as fields in Hubspot. However if a different form or the same form is submitted again, these values can be overridden. To track this better, Hubspot allows us to see all data points of the form during the submission activity. Is there a way we can record this back to any of the tables in a data warehouse, so that it helps us analyse this better?
Hey @sanchid just to add to what everyone else posted, you can use the get submissions endpoint here to get the raw data for each submission. This will show you the values submit on the form submission, not the existing values for the CRM record.
Tom Mahon Technical Consultant | Solutions Engineer | Community Champion Baskey Digitial
Good question, form submission data in HubSpot can be tricky since each new submission overwrites property values on the contact record. The only permanent record is the form submission object, accessible through the “Get form submissions” endpoint (https://developers.hubspot.com/docs/api-reference/marketing-forms-v3/guide ) This includes every submission event, even when properties are overwritten.
If your goal is to store these events historically in BigQuery, the cleanest approach is to set up an ETL or sync layer that captures these raw submission payloads and writes them to your warehouse.
Airbyte and Fivetran both support HubSpot form endpoints, but for deeper control, you can poll the endpoint periodically and push JSON payloads into your BigQuery form_submissions table, preserving timestamps and field-level metadata. You can then join those with contact or deal tables for full attribution analysis.
If you ever need those events to flow bidirectionally say, enriching HubSpot with warehouse-calculated metrics like LTV or campaign performance a managed two-way sync avoids the API pagination, schema drift, and token rotation issues described in Stacksync’s architecture guide. If consistency between HubSpot and your data warehouse is the gap, Stacksync keeps them mirrored in real time without the need for manual ETL scripts.
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
Good question, form submission data in HubSpot can be tricky since each new submission overwrites property values on the contact record. The only permanent record is the form submission object, accessible through the “Get form submissions” endpoint (https://developers.hubspot.com/docs/api-reference/marketing-forms-v3/guide ) This includes every submission event, even when properties are overwritten.
If your goal is to store these events historically in BigQuery, the cleanest approach is to set up an ETL or sync layer that captures these raw submission payloads and writes them to your warehouse.
Airbyte and Fivetran both support HubSpot form endpoints, but for deeper control, you can poll the endpoint periodically and push JSON payloads into your BigQuery form_submissions table, preserving timestamps and field-level metadata. You can then join those with contact or deal tables for full attribution analysis.
If you ever need those events to flow bidirectionally say, enriching HubSpot with warehouse-calculated metrics like LTV or campaign performance a managed two-way sync avoids the API pagination, schema drift, and token rotation issues described in Stacksync’s architecture guide. If consistency between HubSpot and your data warehouse is the gap, Stacksync keeps them mirrored in real time without the need for manual ETL scripts.
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
@sanchid@Jonas_De_Mets@TomM2 You might consider using an app in the HubSpot App Marketplace called Database Sync for HubSpot. This app syncs forms data (and over 100 other data tables) from HubSpot to Azure, Bigquery, MySQL, PostgreSQL, Redshift, and SQL cloud databases. The cost is only $49 a month for daily sync refreshes, and faster rates are available.
Did this post help solve your problem? If so, please mark it as a solution
Hey @sanchid just to add to what everyone else posted, you can use the get submissions endpoint here to get the raw data for each submission. This will show you the values submit on the form submission, not the existing values for the CRM record.
Tom Mahon Technical Consultant | Solutions Engineer | Community Champion Baskey Digitial
So each form can bring in multiple contact/conversion level information like UTM params while submission. However these values can be overriden if a new form is submitted. In order to track the history, I'd like to capture the form level submission data also to my data warehouse in Bigquery.
But from the screenshot or your deck, I'm not able to see which table actually captures the field information during the form submission. I guess not even a JSON field is available to capture all form level data.
@sanchid you are right, the table does not contain the details of the form submission. I double checked in our BigQuery database (see printscreen below). Pretty sure we could do this in the past with Fivetran though. I believe it might be related to the switch to the new HubsSpot API.