Weld logo
News & Product updatesDecember 15, 20254 min read

Update: HubSpot Marketing Email endpoint upgraded to v3

Author image
by Pedro Prazeres
HubSpot Marketing Email v3 now available in Weld

HubSpot Marketing Email endpoint upgraded to v3

We’ve migrated the HubSpot Marketing Email endpoint to a new v3 version in Weld, aligned with HubSpot’s latest Marketing Emails API v3.

The new endpoint is now the source of truth for all new and updated marketing email data going forward.
The existing table remains available with historical data only, but it will not receive new records.

👉 To keep your models working on new data, you’ll need to switch your queries to the new marketing_email_v3 table.

Full announcement:
https://developers.hubspot.com/changelog/marketing-email-api-v3-released-to-general-availability-and-upcoming-sunset-for-v1


What happens to the old table?

  • The old marketing_email table remains available
  • It contains historical data only
  • No new emails or updates will be written to it
  • It can be used for backfills or comparisons, but active models must move to v3

Why this change?

HubSpot has deprecated the legacy Marketing Email API and introduced v3 as the supported and future-proof API.

Compared to the legacy endpoint, the v3 API:

  • Uses explicit and consistently named fields
  • Groups related configuration under clear prefixes
  • Removes several legacy or loosely structured fields
  • Aligns with HubSpot’s modern API conventions across products

Weld’s new marketing_email_v3 table reflects this structure directly.


🔄 Schema changes (old → v3)

The v3 schema is not a drop-in replacement for the legacy table.
While many core identifiers remain, a significant number of fields were renamed, reorganised, or removed.


Identifiers, timestamps and state

Legacy (marketing_email)v3 (marketing_email_v3)
createdcreated_at
updatedupdated_at
transactionalis_transactional
archivedarchived
statestate
current_stateremoved

A/B testing configuration

Legacyv3
abis_ab
ab_hours_to_waittesting_hours_to_wait
ab_sample_size_defaulttesting_ab_sample_size_default
ab_sampling_defaulttesting_ab_sampling_default
ab_success_metrictesting_ab_success_metric
ab_test_percentagetesting_ab_test_percentage
ab_variationtesting_is_ab_variation
testing_ab_status
testing_test_id

Sender configuration

Legacyv3
from_namefrom_from_name
reply_tofrom_reply_to
custom_reply_tofrom_custom_reply_to
custom_reply_to_enabledremoved

Recipient targeting and suppression

Legacyv3
mailing_lists_includedto_contact_lists_include
mailing_lists_excludedto_contact_lists_exclude
vids_includedto_contact_ids_include
vids_excludedto_contact_ids_exclude
is_graymail_suppression_enabledto_suppress_graymail
to_limit_send_frequency

Web version and URL handling

Legacyv3
domainwebversion_domain
resolved_domainactive_domain
published_urlwebversion_url
slugwebversion_slug
page_redirectedwebversion_is_page_redirected
webversion_enabled

Content and body fields

Legacyv3
email_bodyremoved
layout_sectionsremoved
sectionsremoved
primary_rich_text_module_htmlcontent_widgets_primary_rich_text_module_body_html
template_pathcontent_template_path

RSS email configuration

Legacyv3
rss_email_urlrss_data_url
rss_email_image_max_widthrss_data_blog_image_max_width
use_rss_headline_as_subjectrss_data_use_headline_as_subject
max_rss_entriesrss_data_max_entries

What you need to do

  1. Update your models to read from {{ raw.hubspot.marketing_email_v3 }}

  2. Review any models that depend on removed or renamed fields such as:

    • email_body
    • layout_sections
    • sections
    • vids_*
    • mailing_lists_*
  3. Update field references to their new from_*, to_*, testing_*, or webversion_* equivalents where relevant.


Example SQL migrations (old → v3)

Minimal change (table switch + timestamps)

1select
2    marketing_email_id
3  , name
4  , subject
5  , state
6  , published_at
7  , published_by_name
8  , created_at
9  , updated_at
10from
11    {{ raw.hubspot.marketing_email_v3 }}

Sender fields

1select
2    marketing_email_id
3  , from_from_name
4  , from_reply_to
5  , from_custom_reply_to
6from
7    {{ raw.hubspot.marketing_email_v3 }}

A/B testing

1select
2    marketing_email_id
3  , is_ab
4  , testing_hours_to_wait
5  , testing_ab_success_metric
6  , testing_ab_test_percentage
7  , testing_is_ab_variation
8  , testing_ab_status
9  , testing_test_id
10from
11    {{ raw.hubspot.marketing_email_v3 }}

Recipient targeting

1select
2    marketing_email_id
3  , to_contact_lists_include
4  , to_contact_lists_exclude
5  , to_contact_ids_include
6  , to_contact_ids_exclude
7  , to_contact_ils_lists_include
8  , to_contact_ils_lists_exclude
9  , to_suppress_graymail
10  , to_limit_send_frequency
11from
12    {{ raw.hubspot.marketing_email_v3 }}

Web version and URLs

1select
2    marketing_email_id
3  , webversion_domain
4  , active_domain
5  , webversion_url
6  , webversion_slug
7  , webversion_is_page_redirected
8  , webversion_enabled
9from
10    {{ raw.hubspot.marketing_email_v3 }}

Primary content

1select
2    marketing_email_id
3  , content_widgets_primary_rich_text_module_body_html
4  , content_template_path
5from
6    {{ raw.hubspot.marketing_email_v3 }}

Why did some fields disappear in v3?

Some fields available in the legacy table are no longer exposed by HubSpot’s v3 API. This reflects intentional changes in how HubSpot models marketing emails internally.

Layout-driven content

Legacy layout fields were replaced by a single rendered HTML body: content_widgets_primary_rich_text_module_body_html

VID-based targeting

Internal VID targeting was replaced with explicit contact and list targeting.

Mailing lists

Mailing lists are now split into explicit include/exclude semantics and list types, including ILS lists.

URLs and domains

Email web rendering is now modeled explicitly via webversion_* fields and active_domain.

Implicit fields

Some legacy fields were removed because their meaning can be derived from state or configuration: custom_reply_to_enabled, current_state, visible_to_all

Final note

These changes originate from HubSpot’s API design, not Weld-specific decisions.

Weld’s goal with marketing_email_v3 is to mirror HubSpot’s supported API as closely as possible while providing a stable, explicit schema for analytics.

Sign up to Weld

Ready to start transforming your data into insights? Get started with Weld for free today.

Continue reading

Weld Product Updates – November 2025 image

November 28, 2025

Weld Product Updates – November 2025

This month at Weld, we launched new connectors for Notion, LinkedIn Company Pages, and LaunchDarkly, introduced BigQuery partitioning and clustering, and delivered improvements acr…

Discrepancies in Microsoft Ads image

November 25, 2025

Discrepancies in Microsoft Ads

Microsoft Ads dashboards and your reporting tools can tell different stories. Learn why data discrepancies happen, what causes mismatched metrics, and how to troubleshoot them effe…

Loved by data teams from around the world

Get started with Weld

Spend less time managing data and more time getting real insights.