CRM and business systems · HubSpot

HubSpot with website forms, marketing automation and data warehouse sync

A lean marketing and sales stack: consent-aware forms and tracking on the site, HubSpot as the system of engagement, and a warehouse for reporting that does not live inside the CRM.

A reference architecture from EITSAA, not a named client system. Service limits, prices and product features change, so confirm current details before you commit to a design.

  • Australian Privacy Principles
  • Spam Act 2003 (marketing consent)
  • Privacy Act 1988
  • ACSC Essential Eight

Architecture

Architecture diagram. Tinted boundaries show regions, accounts, networks and trust zones. Numbered arrows match the flow below.
HubSpot with website forms, marketing automation and data warehouse sync architectureVisitor to Website: consent. Website to Forms API: submit. Forms API to CRM objects: upsert. CRM objects to Marketing automation: enrol. Marketing automation to Sales and service hubs: qualified. CRM objects to Sync job: webhook. Sync job to Warehouse: load. Warehouse to BI and reverse sync: modelWebsiteHubSpot portalCloud account ·Australian regionVisitorConsent bannerWebsiteForms, tracking after consentForms APIVia your own endpointCRM objectsContacts, companies, dealsMarketing automationWorkflows, email, listsSales and servicehubsSequences, ticketsSync jobWebhooks, CRM APIWarehouseRedshift, Fabric or SnowflakeBI and reverse syncDashboards, audiences1consent2submit3upsert4enrol5qualified6webhook7load8modelPlatform servicesIdentityprovider (SSO)Monitoring andalertsAudit log
  • People and clients
  • Network and edge
  • SaaS and business systems
  • Databases and data
  • Monitoring, audit and analytics
  • Security and identity
  • Request or data flow
  • Asynchronous or optional
  • Boundary: region, account, network or trust zone

Request and data flow

  1. A visitor sees a consent banner. Non-essential tracking and marketing cookies load only after consent, and the choice is stored.

  2. A form posts to HubSpot's Forms API, ideally through your own endpoint so that spam filtering, validation and logging stay in your control.

  3. HubSpot matches or creates the contact and company and records the source, consent and communication preferences.

  4. Workflows enrol the contact by lifecycle stage and behaviour and send consent-based email with a working unsubscribe.

  5. Qualified leads go to sales with tasks and sequences, and service tickets sit on the same record.

  6. Webhooks and the CRM API stream changes to a sync job that uses incremental cursors and retries.

  7. Data lands in the warehouse as raw tables with history, using Fivetran, Airbyte or a small custom job.

  8. Modelled data feeds dashboards and, through reverse sync, audiences and scores back into HubSpot.

Components and why they were chosen

ComponentWhat it doesWhy this choice
HubSpot CRM and Marketing HubContacts, deals, forms, email and workflows.A single data model across marketing, sales and service.
Forms endpoint (API Gateway and Lambda or Azure Function)Server-side submission and validation.Better spam control and less dependence on third-party scripts.
Consent management platformCookie and tracking consent.No tracking before consent, with a record of the choice.
HubSpot webhooks and CRM APIChange feed and bulk access.Efficient incremental sync.
Fivetran, Airbyte or a custom jobManaged connectors or code.Connectors save time. Custom jobs give control and lower cost at small scale.
Cloud data warehouseLong-term history and cross-source reporting.Reports outside the CRM avoid its limits and keep history.
dbt and a BI toolModelling and dashboards.Version-controlled definitions.
Reverse ETL (optional)Pushes scores or segments to HubSpot.Closes the loop without manual lists.

Design decisions and trade-offs

Reporting location

Warehouse for cross-source metrics, HubSpot dashboards for operational views.

Why. Revenue, product and finance data live elsewhere.

Trade-off. A second place to maintain definitions.

Form handling

Own endpoint in front of the Forms API.

Why. Validation, honeypots and a retry queue.

Trade-off. A small amount of code to maintain.

Consent model

Explicit marketing consent field and subscription types.

Why. Respects the Spam Act and supports audit.

Trade-off. Slower list growth than pre-ticked boxes, but better quality.

Sync design

Webhooks plus periodic reconciliation.

Why. Webhooks can be missed.

Trade-off. An extra reconciliation job.

Well-architected pillars

Security

Private app tokens with minimal scopes in a secret manager, SSO for HubSpot users, role-based access and no personal data in URLs.

Reliability

Retry queue for form posts, idempotent upserts and reconciliation of webhooks.

Performance

Server-side events, lightweight scripts and async loading protect page speed.

Cost optimisation

HubSpot tier and contact count, connector row volume and warehouse queries.

Operational excellence

Property naming standards, workflow documentation and quarterly list hygiene.

Sustainability

Suppress dormant contacts and avoid unnecessary tracking scripts.

Network, identity and data

Networking

The sync job runs in a private subnet with outbound access to HubSpot only. The form endpoint sits behind CloudFront or API Gateway with WAF rate limits.

Identity and least privilege

HubSpot users sign in with SSO and roles per team. Private app tokens are stored in Secrets Manager and rotated. Warehouse access is role-based and PII columns are restricted.

Data and encryption

Classify properties, use HubSpot's sensitive data settings and collect only what you use (APP 3). Exclude contact identifiers from product analytics unless needed. Define retention and deletion for unsubscribed contacts. Review where HubSpot hosts data for your obligations.

Security and compliance mapping

ControlHow this design addresses it
Collection and noticeCollection notices at forms support APP 1 and APP 5.
Marketing consentSpam Act requirements: consent, identification and unsubscribe.
Multi-factor authenticationSSO with MFA on HubSpot. Essential Eight.
Overseas disclosureAssess APP 8 for SaaS and connector data flows.

Mappings show how the design supports each control. They are not certifications, and EITSAA does not claim IRAP assessment or compliance for any reference architecture.

Failure modes, targets and scaling

  • Target RTOHours. SaaS recovery by the vendor, and the sync job redeploys quickly
  • Target RPOWarehouse minutes to hours behind HubSpot depending on schedule
  • Scaling and limitsSubject to HubSpot API limits per tier. Check current limits.
Failure modeMitigation
Webhook missedPeriodic reconciliation by modified date.
Duplicate contactsUpsert by email, merge rules and external IDs.
Form spam floods the CRMHoneypot, rate limit and CAPTCHA only when needed.
API rate limitBackoff, batching and incremental cursors.

Observability and runbooks

  • Form submit success rate and queue depth.
  • Sync lag and row-count reconciliation between HubSpot and the warehouse.
  • Deliverability and unsubscribe rate monitoring.

Cost drivers and levers

HubSpot seats and marketing contacts, connector rows and warehouse compute.

  • Purge unengaged contacts.
  • Use incremental syncs.
  • Query the warehouse on a schedule, not on demand.

Implementation and fit

Phased approach

  1. Data model and consent design.
  2. Forms and tracking with the consent platform.
  3. Workflows and lead routing.
  4. Warehouse sync and shared definitions.

Anti-patterns to avoid

  • Tracking before consent.
  • Free-text lifecycle stages.
  • Two systems editing the same properties.
  • Reporting only from the CRM.

When to use it

  • SMEs and mid-market teams with web-led lead generation.
  • Teams wanting one view from marketing to revenue.

When not to

  • Very complex enterprise sales hierarchies, where Salesforce or Dynamics fits better.
  • No clear owner for data quality.

More in crm and business systems

Related insights

Discuss this architecture

Tell us your systems, constraints and timeline. We reply within one business day, and the initial conversation is free.