跳到内容
请注意::本文仅为方便您阅读而提供。本文由翻译软件自动翻译,可能未经校对。本文的英文版应被视为官方版本,您可在此找到最新信息。您可以在此处访问。

在 Snowflake 中查询 HubSpot 数据

上次更新时间: 2026年9月24日

可与以下任何订阅一起使用,除非另有说明:

将 Snowflake 连接到您的 HubSpot 账户后,您就可以使用 Snowflake 的“数据共享”功能,从您的 Snowflake 账户中查询 HubSpot 数据。

数据延迟与您的 Snowflake 账户区域

您将能够访问每 15 分钟更新一次的 V2_LIVE 模式,以及每天更新一次的 V2_DAILY 模式。

请注意:V2_LIVE 模式中的以下视图仅每日更新一次:association_definitions、owners、pipelines 和 pipeline_stages。

设置您的 Snowflake 环境

要在 Snowflake 中查询您的 HubSpot 数据,您需要选择要进行查询的仓库、数据库和模式。您可以在工作表级别进行设置,以便在查询中自动包含这些信息,也可以手动添加。

要在工作表级别选择数据仓库、数据库和模式:

  1. 在工作表的顶部行,点击“工作表操作栏”。

    snowflake-worksheet-settings0
  2. 在弹出窗口中:
    • 点击“数据仓库”下拉菜单,然后选择您的数据仓库。
    • 点击“数据库”下拉菜单,然后选择您的 HubSpot 数据库。
    • 点击“模式”下拉菜单,然后选择您要使用的模式:
        • V2_DAILY: 基于表查询数据的每日模式 。该模式中的数据每天更新一次。使用此模式可加快查询速度,建议在 Snowflake 中直接进行查询。
        • V2_LIVE:基于 HubSpot 数据“安全视图”的实时模式。该模式中的数据最多每 15 分钟更新一次。若查询数据量较大,查询速度可能会变慢。在这种情况下,建议先通过ETL 流程将数据复制到您自己的表中,然后查询该表。


      snowflake-worksheet-settings-window0

配置好环境后,您即可对 HubSpot 数据进行查询,而无需在查询中手动添加数据库或模式类型。

若要手动将数据库和模式类型添加到查询中,请在FROM字段开头添加数据库名称,后跟模式名称。例如:

 

SELECT objectTypeId, objectId, updatedAt

FROM hubspot_share_name.V2_LIVE.objects

WHERE objectTypeId = '0-3'

LIMIT 1;

数据概述

查询采用 SQL 构建,可用于检索以下 HubSpot 数据:

  • 对象:标准对象 和自定义对象,例如联系人、公司、产品。 
  • 记录:单个 记录,例如单个联系人或公司。 
  • 关联:所有可用的关联类型以及当前已关联的记录。
  • 事件:包括标准 HubSpot 事件(如电子邮件打开)和自定义行为事件的事件数据。
  • 细分:HubSpot联系人及公司细分。
  • 所有者:HubSpot 账户中的用户,与他们被设为所有者的记录相关。
  • 销售管道:交易和工单管道,包括管道阶段。
  • 属性:CRM 记录中的属性及其值,包括属性历史记录。

了解更多关于 HubSpot 的 CRM 数据模型。 

请注意: 随着数据共享功能的不断演进,我们将引入一些变更,其中部分变更可能导致兼容性问题。强烈建议您订阅HubSpot 的开发者变更日志。这些变更将在任何更新发布前,始终提前发布在变更日志中。

限制和排序返回的数据

在构建查询时,您可以通过在查询中包含LIMIT和ORDER BY子句,来控制返回的数据量及其返回顺序。例如,若要查询所有联系人的属性,但仅返回三个结果并按联系人 ID 排序,您可以按以下方式构建查询:

 

SELECT objectTypeId, updatedAt, ingestedAt

FROM objects

WHERE objectTypeId = '0-1'

按 对象ID

LIMIT 10;

列数据类型

在 Snowflake 中查询数据时,返回的列取决于您查询的数据。您可以在 Snowflake 中通过 在左侧边栏中选择视图 ,查看特定表或视图的可用列 。

请注意:在本文档的其余部分中,当上下文同时涉及表和视图时,我们将使用“数据库对象”这一术语。

snowflake-sidebar-view-column-details0


若要返回特定列,请将该列包含在查询的SELECT字段中。例如,以下查询将仅返回OBJECTID和UpdatedAt列

 

SELECT objectTypeId, updatedAt, ingestedAt

FROM objects

WHERE objectTypeId = '0-1'

按 对象ID

LIMIT 10;

 

以下是查询可能返回的列的一般定义。对于未包含在下的其他定义,请参阅上文中的各个视图定义。

  • OBJECTTYPEID:一个VARCHAR值,表示对象的类型。例如,0-1表示“联系人”对象,0-2表示“公司”对象,而2-1232可能表示您账户中的自定义对象。在受众群体中,此字段指代受众群体的类型(例如,联系人或公司)。 您可以使用object_and_event_type_definitions视图查询账户中的所有对象和事件 ID。
  • OBJECTID:一个BIGINT数值,表示 HubSpot 账户中特定类型对象的单条记录。要识别某条记录,您需要同时使用对象类型 ID 和对象 ID。
  • INGESTEDAT:数据行被添加到 Snowflake 时的戳,以TIMESTAMP_NTZ值表示。与 HubSpot 中创建或更新操作的逻辑时间戳无关。
    • 由于 HubSpot 的内部处理机制,即使该行中的其他列未发生变化,其摄入时间戳仍可能被更新。
    • 在构建用于复制最近更改数据的ETL 流程时,建议以摄入时间戳作为查询依据。此外,如果您的流程每天复制数据,建议复制前两天的数据,以应对可能出现的延迟。
  • CREATEDAT 和 UPDATEDAT:数据在 HubSpot 中创建或更新的逻辑时间戳,以TIMESTAMP_NTZ 值 表示。这些时间戳将与 HubSpot 中的时间戳一致。 例如,HubSpot 中显示的记录创建日期将与 Snowflake 中CREATEDAT列的时间戳一致。这些时间戳与数据导入时间戳没有直接关联,因此不建议将ETL 流程基于这些属性进行设计。
  • COMBINEDASSOCIATIONTYPE:一个VARCHAR值,用于唯一标识关联定义。

转换数据类型

有时,查询返回的数据包含VARCHAR列,但您可能希望将其转换为其他类型。在这种情况下,建议使用 Snowflake 函数将 VARCHAR 数据类型转换为所需类型。例如,在大多数数据库对象中,对象记录的属性以 VARCHAR 数据类型存储,但有时会包含数字和日期时间值。可以使用以下函数:
try_to_number、 try_to_timestamp_ntz等函数,可分别将这些 VARCHAR 数据转换为NUMBER和DATETIME类型:


SELECT objectid, value AS amount_str, try_to_number(value) AS amount

FROM object_properties
WHERE objecttypeid='0-3' AND name='amount'
LIMIT 1

对象查询

下面,您将了解如何从特定的 HubSpot 对象和记录中查询数据,以及返回的数据内容。 

对象数据存储在共享数据库对象中。请按objectTypeId进行筛选 来检索特定对象类型。使用 OBJECT_WITH_OBJECT_PROPERTIES 来获取每条记录的当前属性。属性值存储在 properties JSON列中存储。若需获取 OBJECTS 用于核心记录属性,而使用 OBJECT_PROPERTIES 或 OBJECT_PROPERTIES_HISTORY 用于表示各属性的数据。


对象名称 对象类型ID
联系人 0-1
公司 0-2
明细项 0-8

自定义对象在创建时将被分配一个 ID,并以2-unique_ID 的形式标识。例如,2-12345。了解有关object_and_event_type_definitions 的更多信息。

更多详细信息请参见下文的 object_with_object_properties、object_properties、objects 和 object_properties_history。

object_with_object_properties

此数据库对象包含来自您的 HubSpot 记录的数据。对该数据库对象的查询会针对对象类型中的每条记录返回一行(例如,联系人对象类型中的所有联系人记录)。所有属性都存储在“Properties”列中,该列为Snowflake Variant / JSON列。 

此视图可返回以下列:

列名 类型 描述
OBJECTTYPEID Varchar 对象类型的 ID(例如,“contacts” 的 ID 为0-1)。
OBJECTID Number 记录的 ID(例如,ID 为123752 的联系人记录)。
PROPERTIES Variant 该记录的属性值。
UPDATEDAT 时间戳 该记录在 HubSpot 中最后更新的日期和时间。了解有关列数据类型的更多信息。
INGESTEDAT 时间戳 数据被Snowflake最后导入的日期和时间。 

请注意: 自 2022 年 1 月 25 日起,object_with_object_properties表和视图中的timestamp列(该列表示对象记录在 HubSpot 中最后更新的日期和时间)将更名为updatedat。此变更旨在与 数据共享的其余部分中日期时间数据的表示方式。

由于这是一项破坏性变更,新列 ` updatedat`已添加到该表和视图中。在接下来的 90 天内,这两个新列将与它们旨在取代的 `timestamp` 列并存。这为您提供了切换到使用新列的机会。

90 天后,即 2022 年 1 月 25 日,“timestamp” 列将从表和视图中移除。此日期之后,任何尝试使用“timestamp”列查询object_with_object_properties表或视图的操作都将失败。

示例 1

检索所有联系人及其属性。

查询:


SELECT objectTypeId, objectId, properties
FROM object_with_object_properties
WHERE objectTypeId = '0-1'


返回结果:

OBJECTTYPEID OBJECTID PROPERTIES
0-1 38960439 {"createdate": "1504656970152"...}
0-1 321740651 { "createdate": "1590183081949"...} 
0-1 98392101 { "createdate": "1533566477279"...}
... ... ...

示例 2

检索最多三笔交易的交易名称和阶段。

查询:


SELECT

objectId,
properties:dealname::string AS dealname,
properties:dealstage::string AS dealstage,
properties:amount::number AS dealamount
FROM object_with_object_properties
WHERE objectTypeId = '0-3'
LIMIT 3;


返回结果:

对象ID 交易名称 交易阶段 交易金额
38960439 交易名称 1 已关闭(未成交) 7488939
321740651 交易名称 1 已成交(赢) 9292029
98392101 交易名称 1 已关闭(未成交) 62626528

对象

此数据库对象是 object_with_object_properties 数据库对象中数据的子集。每行返回结果都会提供每条记录的对象 ID。此数据库对象仅返回现有记录。当 HubSpot 中某条记录被删除时,该记录将从此数据库对象中移除。此数据库对象是 object_with_object_properties 表中数据的子集。 每行返回结果中包含每条记录的对象 ID。此视图仅返回现有记录。当 HubSpot 中某条记录被删除时,该记录将从该视图中移除。 

该数据库对象包含不包含属性值的当前对象数据。当您仅需核心记录属性时,请使用此对象;当您需要特定属性时,请将其与 OBJECT_PROPERTIES 进行连接。将此数据库对象与 object_properties 数据库对象结合使用,既可复制 object_with_object_properties 中的数据,又能控制返回哪些属性。

此数据库对象可返回以下列:

列名 类型 描述
OBJECTTYPEID Varchar 对象类型的 ID(例如,“contacts” 的 ID 为0-1)。
OBJECTID Number 记录的 ID(例如,ID 为123752 的联系人记录)。
INGESTEDAT 时间戳 Snowflake 最后一次摄入该数据的日期和时间。了解有关列数据类型的更多信息。

示例 1

检索所有联系人记录。

查询:


SELECT objectTypeId, objectId
FROM objects
WHERE objectTypeId = '0-1'


返回结果:

对象类型ID 对象ID
0-1 36721864
0-1 103580363
0-1 56047670
... ...

object_properties

该数据库对象是“object_with_object_properties”数据库对象的一个子集。每行包含给定记录当前设置的属性值。例如,一个联系人将为其“名字”属性有一行,为其“姓氏”属性有一行。如果某条记录的某个属性没有值,则该行要么显示为空字符串,要么根本不显示。

该数据库对象可返回以下列:

列名 类型 描述
OBJECTTYPEID Varchar 对象类型的 ID(例如,“contacts” 的 ID 为0-1)。
OBJECTID Number 记录的 ID(例如,ID 为123752 的联系人记录)。
NAME Varchar 属性的名称。
VALUE 时间戳 属性的值。
UPDATEDAT 时间戳 该记录在 HubSpot 中最后一次更新的日期和时间。了解有关列数据类型的更多信息。
INGESTEDAT 时间戳 数据被Snowflake最后导入的日期和时间。 

示例 1

检索所有联系人的“名字”、“姓氏”和“城市”属性。

查询:


SELECT objectTypeId, objectId, name, value
FROM object_properties
WHERE objectTypeId = '0-1'
AND name IN ('firstname', 'lastname', 'city')
ORDER BY objectId;


返回结果:

OBJECTTYPEID OBJECTID 名称 VALUE
0-1 10401 名字 Brian
0-1 10401 城市 都柏林
0-1 10401 姓 加拉格尔
0-1 23451 名字 费尔南多
0-1 23451 姓 菲耶罗
0-1 25751 名字 查尔斯
... ... ... ...

示例 2

检索所有联系人的名字、姓氏和生命周期阶段,并将它们合并为每条联系人一条记录。此示例使用了SQL PIVOT 语法。

查询:


SELECT objectId, firstname, lastname, lifecyclestage
FROM
(
SELECT objectId, name, value
FROM object_properties
WHERE objectTypeId = '0-1'
AND name IN ('firstname', 'lastname', 'lifecyclestage')
)
PIVOT(MAX(value) FOR name IN ('firstname', 'lastname', 'lifecyclestage')) AS p(objectId, firstname, lastname, lifecyclestage);

 

返回结果:

对象类型ID 对象ID 名字 姓 生命周期阶段
0-1 54325098 霍布斯 男爵 铅
0-1 96805401 米洛 Gold 领先
0-1 6922028 亨利 莱利 领先
... ... ... ... ...

object_properties_history

此数据库对象包含属性历史值。对于联系人,它包含最近的 45 个值;对于所有其他对象,它包含最近的 20 个值。每个属性历史值对应一行。属性的当前值由该属性历史记录中最新的 UPDATEDAT时间戳决定。

该数据库对象可返回以下列:

列名 类型 描述
OBJECTTYPEID Varchar 对象类型的 ID(例如,“联系人”的 ID 为0-1)。
OBJECTID 数字 记录的 ID(例如,ID 为123752 的联系人记录)。
NAME Varchar 属性的名称。
VALUE 时间戳 属性的值。
UPDATEDAT 时间戳 数据在 HubSpot 中最后一次更新的日期和时间。了解有关列数据类型的更多信息。
INGESTEDAT 时间戳 数据最后一次被 Snowflake 摄入的日期和时间。 

示例 1

检索单个联系人的单个属性的历史记录。

查询:


SELECT objectId, name, value, updatedAt
FROM object_properties_history
WHERE objectTypeId = '0-1'
AND objectId = 136493192
AND name = 'hs_predictivescoringtier'
ORDER BY UPDATEDAT DESC;

 
返回结果:

OBJECTID 名称 VALUE 更新日期

136493192

hs_预测评分层级

tier_1

2022-06-22 22:45:05.931

136493192

hs_预测评分层级

tier_2

2021-09-18 08:20:56.622

136493192

hs_预测评分层级

tier_3

2019-11-31 18:20:22.851

...

...

...

...

示例 2

检索所有曾处于“订阅者”生命周期阶段的联系人的当前姓名。

查询:


SELECT
objectId,
properties:firstname::string AS firstname,
properties:lastname::string AS lastname
FROM object_with_object_properties
WHERE object_with_object_properties.objectTypeId = '0-1'
AND objectId IN (
SELECT objectId
FROM object_properties_history
WHEREobject_properties_history.objectTypeId = '0-1'
AND object_properties_history.name = 'lifecyclestage'
AND object_properties_history.value = 'subscriber'
);


返回结果:

OBJECTID 名 姓
54325098 霍布斯 巴伦
96805401 米洛 Gold
6922028 亨利 莱利
... ... ...

关联查询

关联数据可在ASSOCIATIONS 中获取。可通过combinedAssociationTypeId进行筛选以检索特定的关联类型。将ASSOCIATIONS与ASSOCIATION_DEFINITIONS进行连接,以识别相关的对象类型和关联定义。

association_definitions

该数据库对象包含 HubSpot 对象之间所有可用关联类型的信息,每个关联类型对应一行。您可以将此数据库对象与associations数据库对象进行连接,以获取特定记录的关联信息。

同一对象之间可能存在多种关联类型。主关联类型(即记录建立关联时在 HubSpot 中显示的类型)使用ISMAINASSOCIATIONDEFINITION为true 的关联。

该数据库对象可返回以下列:

列名 类型 描述
COMBINEDASSOCIATIONTYPEID Varchar 关联定义的唯一标识符。
CATEGORY Varchar 关联类型的来源。取值包括:HUBSPOT_DEFINED、USER_DEFINED、INTEGRATOR_DEFINED
ID 数字 该关联定义在其类别中的标识符。
FROMOBJECTTYPEID Varchar 作为关联定义来源的对象的ID。
TOOBJECTTYPEID Varchar 关联定义的目标对象的 ID。
NAME Varchar 关联定义的名称。
LABEL Varchar 关联定义的标签。
ISMAINASSOCIATIONDEFINITION 布尔值 该关联定义是否为主类型。当值为 true 时,该定义即为 HubSpot 在关联记录上显示的定义。
INGESTEDAT 时间戳 Snowflake 最后一次摄入该数据的日期和时间。了解有关列数据类型的更多信息。

示例 1 

检索您账户中可用的关联类型。

查询:


SELECT combinedAssociationTypeId, fromObjectTypeId, toObjectTypeId, name
FROM association_definitions
ORDER BY category, id

 
返回结果:

组合关联类型 FROMOBJECTTYPEID 目标对象类型 ID 名称
0-1 0-1 0-2 联系公司
0-2 0-2 0-1 联系公司
0-3 0-3 0-1 DEAL_TO_CONTACT
0-4 0-1 0-3 从联系人到交易
0-5 0-3 0-2 交易对象为公司
... ... ... ...

示例 2

检索交易与公司之间可用的关联类型。

查询:


SELECTcombinedAssociationTypeId, fromObjectTypeId, toObjectTypeId, name
FROM association_definitions
WHERE fromObjectTypeId = '0-3' AND toObjectTypeId = '0-2'
AND isMainAssociationDefinition = true

ORDER BY category, id


返回结果:

组合关联类型 FROM 对象类型 ID TOOBJECTTYPEID 名称
0-5 0-3 0-2 DEAL_TO_COMPANY
0-271 0-3 0-2 DEAL_TO_PRIMARY_COMPANY
0-341 0-3 0-2 DEAL_TO_COMAPNY_UNLABELED

关联

此数据库对象包含特定记录之间关联的信息。每一行代表从一个对象到另一个对象的关联。即使被引用的记录已被删除,此数据库对象中仍可能存在相关行。您可以通过与对象表进行连接来检查记录是否存在。

该数据库对象包含所有关联类型的关联记录。当您需要关联元数据时,请按combinedAssociationTypeId进行过滤,并与ASSOCIATION_DEFINITIONS表进行连接。

该数据库对象可返回以下列:

列名 类型 描述
COMBINEDASSOCIATIONTYPEID Varchar 关联定义的唯一标识符。
FROMOBJECTID 数字 源对象的 ID。
TOOBJECTID 数字 目标对象的 ID。
INGESTEDAT 时间戳 Snowflake 最后一次摄入该数据的日期和时间。了解有关列数据类型的更多信息。

示例 1

检索所有关联的交易和联系人。

查询:


SELECT combinedAssociationTypeId, fromObjectId, toObjectId
FROM associations
WHERE combinedAssociationTypeId = '0-5'

 
返回结果: 

组合关联类型 ID 源对象ID 目标对象 ID
0-5 6626541373 233620335
0-5 6616436082 3866015468
0-5 6690805943 7132752747
... ... ...

示例 2 

检索与特定联系人(联系人 ID:3005)关联的所有工单。

查询:


SELECT combinedAssociationTypeId, fromObjectId, toObjectId
FROM associations
WHERE associationCategory = 'HUBSPOT_DEFINED'
AND combinedAssociationTypeId = '0-15'
AND fromObjectId = 3005;


返回结果:

组合关联类型 FROMOBJECTID TOOBJECTID
0-5 6626541373 233620335

示例 3 

检索与特定联系人(联系人 ID:4464)关联的所有交易。本示例未将combinedAssociationTypeId 硬编码,而是通过association_definitions 进行关联。

查询:


SELECT combinedAssociationTypeId, fromObjectId toObjectId,
FROM associations
WHERE
combinedAssociationTypeId = (
SELECT combinedAssociationTypeId
FROM association_definitions
WHERE fromObjectTypeId = '0-1'
AND toObjectTypeId = '0-3'
AND isMainAssociationDefinition)
AND fromObjectId = 4464;


返回结果:

组合关联类型ID FROMOBJECTID TOOBJECTID
0-5 6626541373 233620335

所有者查询

所有者

此数据库对象包含您 HubSpot 账户中用户的相关信息。用户可被设置为记录所有者,并根据具体上下文同时包含用户 ID 和所有者 ID。这两个 ID 均可用于识别同一用户。 

该数据库对象可返回以下列:

列名 类型 描述
OWNERID 数字 用户的所有者 ID。
USERID 数字 用户的用户 ID。该列值为NULL的用户已被删除。
EMAIL Varchar 用户的电子邮件地址。
FIRSTNAME Varchar 用户的名字。
LASTNAME Varchar 用户的姓氏。
ARCHIVED 布尔值 用户是否已被删除。
CREATEDAT 时间戳 用户在 HubSpot 中创建的日期和时间。有关更多信息,请参阅列数据类型。
UPDATEDAT 时间戳 用户在 HubSpot 中最后一次更新的日期和时间。有关更多信息,请参阅“列数据类型”。
INGESTEDAT 时间戳 Snowflake 最后导入该数据的日期和时间。

示例 1 

检索所有用户。WHERE archived = false条件将已删除的用户从返回的数据中排除。

查询:


SELECT ownerId, userId, email, firstname, lastname
FROM owners
WHERE archived = false

 
返回结果: 

OWNERID USERID 电子邮件 名 姓
29584574 4621126 233620335 霍布斯 巴伦
30532717 4874784 3866015468 帕布罗 沃尔特斯
30580321 925511 7132752747 米洛 Gold
... ... ... ... ...

示例 2

根据所有者 ID 检索特定所有者。

查询:


SELECT ownerId, userId, email, firstname, lastname
FROM owners
WHERE ownerId = 29584574;


返回结果: 

所有者ID 用户ID 电子邮箱 名字 姓
29584574 4621126 233620335 霍布斯 男爵

示例 3

根据所有者 ID 检索所有联系人及其所有者。此查询使用 `object_with_object_properties` 关联记录与所有者,并基于联系人属性 `hubspot_owner_id` 进行匹配。

 

SELECT

contact.objectId AS contact_id,

contact.properties:firstname::string AS contact_firstname,

contact.properties:lastname::string AS contact_lastname,

contact.properties:hubspot_owner_id::number AS contact_hubspot_owner_id,

owner.firstname AS owner_firstname,

owner.lastname AS owner_lastname,

owner.email AS owner_email

FROM object_with_object_properties AS contact

连接 所有者 AS 所有者

ON contact.properties:hubspot_owner_id::number = owner.ownerId

WHERE contact.objectTypeId = '0-1';

 


返回结果: 

联系ID 联系人_名字 联系人_姓 联系人_HubSpot_所有者_ID 所有者_名字 所有者_姓 所有者_电子邮箱
113834202 理查德 格林菲尔德 29584574 霍布斯 巴伦 hobbes.b@business.com
53540801 福特 卡尔 30241125 米洛 Gold milo.g@business.com
... ... ... ... ... ... ...

团队查询

团队

HubSpot 中的“团队”功能可让您将用户组织成组,以满足组织管理和报告需求。您可以拥有一个主团队和多个子团队。

此数据库对象包含您 HubSpot 账户中团队的相关信息。 

该数据库对象可返回以下列:

列名 类型 描述
TEAMID 数字 团队 ID。
TEAMNAME Varchar 团队名称。
PARENTTEAMID 数字 父团队的团队 ID。
CHILDTEAMIDS 数组 子团队的团队 ID。
PRIMARYOWNERMEMBERS Varchar 团队主要成员的所有者 ID。
次要所有者成员 布尔值 团队次要成员的所有者 ID。
INGESTEDAT 时间戳 Snowflake 最后一次摄入该数据的日期和时间。 

示例 1

检索所有团队。

查询:

SELECT teamId,teamName, primaryOwnerMembers

FROM teams

返回结果:

队伍ID 团队名称 主要所有者成员
29584574 子战队 [233620335, 1234553]
30532717 超级团队 [3866015468, 126221873]
3058032 A队 [7132752747]

owner_team

此数据库对象包含有关您的 HubSpot 账户中哪些所有者对应哪些团队的信息。 

该数据库对象可返回以下列:

列名 类型 描述
TEAMID 数字 团队 ID。
OWNERID 数字 用户的所有者 ID。 
ISTEAMPRIMARY 布尔值 该团队是否为该所有者的主团队。
INGESTEDAT 时间戳 Snowflake 最后一次摄入该数据的日期和时间。 

示例 1

检索指定团队的所有所有者。

查询:

SELECT teamId, ownerId, isTeamPrimary
FROM teams
WHERE teamId = 29584574

返回

TEAMID TEAMNAME 是否为主团队
29584574 233620335 TRUE
29584574 1234553 TRUE 

管道查询

下面,了解如何查询 交易和工单管道数据,例如您账户中可用的流程及其各个阶段。

您可以将这些数据与对象数据进行关联,从而全面了解您的销售管道。例如,您可以通过将 `object_with_object_properties` 与pipelines 进行关联,来查询商机及其销售管道。 

销售流程

此数据库对象包含您账户中交易和工单销售流程的相关信息。返回的每一行代表一个销售流程。

该表可返回以下列:

列名 类型 描述
PIPELINEID Varchar 管道的 ID。
OBJECTTYPEID Varchar 管道可包含的对象(例如,交易或工单)的 ID。
LABEL Varchar 该管道在 HubSpot 中的名称。
DISPLAYORDER 数字 管道在 HubSpot 中的显示顺序。
ARCHIVED 布尔值 销售管道是否已被删除。
CREATEDAT 时间戳 管道的创建时间。
UPDATEDAT 时间戳 数据在 HubSpot 中最后一次更新的日期和时间。了解有关列数据类型的更多信息。
INGESTEDAT 时间戳 数据最后一次被 Snowflake 摄入的日期和时间。 

示例 1

检索所有可用的交易流程,并按其在 HubSpot 中的顺序排序。

查询:


SELECT objectTypeId, pipelineId, label
FROM pipelines
WHERE objectTypeId = '0-3'
AND not archived
ORDER BY displayorder;

 
返回结果: 

OBJECTTYPEID PIPELINEID 标签
0-3 1bed503c-37f7-4f51-9d40-7598902673f4 销售渠道
0-3 12659678 许可证销售渠道
0-3 75e28846-ad0d-4be2-a027-5e1da6590b98 新业务
... ... ...

示例 2

使用object_with_object_properties 检索特定销售流程中的交易。


SELECT
deals.objectId deal_id,
deals.properties:dealname::varchar deal_name,
pipelines.label pipeline_name
FROM object_with_object_properties deals
INNER JOIN pipelines
ON deals.objectTypeId = pipelines.objectTypeId
AND deals.properties:pipeline::string = pipelines.pipelineid
WHERE deals.objecttypeId = '0-3'
AND pipelines.objectTypeId = '0-3';

 

返回结果: 

DEAL_ID

DEAL_NAME

PIPELINE_NAME

605140072

Meowmix 全球注册

销售流程

605457408

菲斯基品牌重塑

销售渠道

604362473

Fresh Step 应用程序开发

销售渠道

pipeline_stages

此视图包含管道内各个阶段的信息。通过组合对象类型 ID、管道 ID 和阶段 ID 来识别各个阶段。与管道进行关联时,请使用对象类型 ID 和管道 ID。

该数据库对象可返回以下列:

列名 类型 描述
PIPELINEID Varchar 管道的 ID。
STAGEID Varchar 该阶段的 ID。
LABEL Varchar HubSpot 中该阶段的名称。
DISPLAYORDER 数字 销售漏斗在 HubSpot 中的显示顺序。
METADATA 变体 该阶段的 JSON 格式描述,包括其状态是“开放”还是“关闭”
ARCHIVED 布尔值 该管道阶段是否已被删除。
CREATEDAT 时间戳 管道阶段的创建时间。

示例 1 

检索名为“Sales pipeline”的交易管道中的各个阶段。

查询:


SELECT pipelineid, stageId, label
FROM pipeline_stages
WHERE not archived
AND pipelineid = (
SELECT pipelineid
FROM pipelines
WHERE objectTypeId = '0-3'
AND not archived
AND label = 'Sales Pipeline' LIMIT 1)
ORDER BY displayorder;

 
返回结果: 

PIPELINEID STAGEID 标签
941650 941651 已联系
941650 941652 已安排预约
941650 941653 已发送发票
... ... ...

示例 2

检索所有交易及其相应的销售流程阶段。

查询:


SELECT

deals.objectId deal_id,
deals.properties:dealname::varchar deal_name,
pipelines.label pipeline_name,
pipeline_stages.label pipeline_stage_name
FROM object_with_object_properties deals
INNER JOIN pipelines
ON deals.objectTypeId = pipelines.objectTypeId
AND deals.properties:pipeline::string = pipelines.pipelineid
INNER JOIN pipeline_stages
ON deals.objectTypeId = pipeline_stages.pipelineid
AND deals.properties:pipeline::string = pipeline_stages.pipelineid
AND deals.properties:dealstage::string = pipeline_stages.stageId
WHERE deals.objecttypeId = '0-3';


返回结果: 

DEAL_ID DEAL_NAME 销售流程名称 销售流程阶段名称
605140072 Meowmix 全球注册 销售管道 已发送合同
605457408 菲斯基品牌重塑 销售 pipeline 已安排预约
604362473 Fresh Step 应用程序开发 销售 pipeline 合同已签署
... ... ... ...

属性查询

property_definitions

此数据库对象包含您 HubSpot 账户中对象属性及事件属性的信息。事件属性包括标准事件(如电子邮件打开和点击)以及自定义行为事件属性。这些信息有助于定义object_properties和events数据中的值。

您可以通过组合属性的对象类型 ID 和名称来识别特定属性。您还可以使用属性 API 检索类似的信息。

该数据库对象可返回以下列:

列名 类型 描述
OBJECTYPEID Varchar 该事件所涉及的对象的 ID。
NAME Varchar 该属性的内部名称。
LABEL Varchar 该属性的标签。
DESCRIPTION Varchar 该属性的描述。
TYPE Varchar 该属性的类型(例如:字符串、数字、日期时间)。
FIELDTYPE Varchar 属性的字段类型。定义该属性在 HubSpot 及表单中的显示方式(例如,复选框、下拉菜单)。
DISPLAYORDER 数字 该属性的显示顺序。
GROUPNAME Varchar 该属性的组名。
OPTIONS Variant 对于枚举属性,该属性选项的数组,包括每个选项的属性(例如,显示顺序、标签)。
CREATEDUSERID 数字 创建该属性的用户的 ID。
REFERENCEDOBJECTTYPE Varchar 该属性引用的对象类型。所有者属性将返回值OWNER。
CALCULATED 布尔值 该属性是否为计算属性。
EXTERNALOPTIONS 布尔型 该属性的选项是否在外部系统中定义。
HASUNIQUEVALUE 布尔值 该属性的值是否唯一。仅在通过 API 创建属性时可设置。
HIDDEN 布尔值 该属性在 HubSpot 中是否被隐藏。
SHOWCURRENCYSYMBOL 布尔值 数字属性值是否以货币格式显示。
FORMFIELD 布尔值 该属性是否可在表单中使用。
READONLYDEFINITION 布尔值 该属性是否可在 HubSpot 中进行编辑。
READONLYVALUE 布尔值 该属性在 HubSpot 中是否可以编辑其值。
HUBSPOTDEFINED 布尔值 该属性是由 HubSpot 创建的,还是由用户创建的。
ARCHIVED 布尔值 该属性是否已被删除。
CREATEDAT 时间戳 该属性在 HubSpot 中创建的日期和时间。
UPDATEDAT 时间戳 数据在 HubSpot 中最后一次更新的日期和时间。了解有关列数据类型的更多信息。
INGESTEDAT 时间戳 数据最后一次被 Snowflake 摄入的日期和时间。 

示例 1

检索所有联系人属性的名称和描述。

查询:


SELECT name, label, description
FROM property_definitions
WHERE objectTypeId = '0-1'

 
返回结果:

NAME 标签 描述
entered_sql_stage 进入 SQL 阶段 开始计算 SQL 阶段的天数。
首次转化事件名称
首次转化 该联系人提交的首份表单。
地址 街道地址 该联系人的地址。

事件查询

事件包括标准 HubSpot 事件和自定义行为事件。每个事件都有其对应的数据库对象,标记为events_eventname。

名称  
EVENTS_AD_INTERACTION 广告的详细信息,以及通过点击广告或在与广告互动后提交表单而与其产生互动的联系人。
EVENTS_AD_METRICS_IMPORTED_V0

广告的详细信息及其绩效指标。
EVENTS_CALL_MENTIONED_KEYWORD 通话中任何参与者提及的关键词的详细信息。
EVENTS_CLICKED_LINK_IN_EMAIL_V2

联系人点击营销邮件中的链接。
EVENTS_CLICKED_LINK_IN_TRACKED_INBOX_EMAIL_V8 联系人点击“对话”收件箱邮件中的链接。
EVENTS_COOKIE_BANNER_CLICKED 点击了 Cookie 横幅的联系人。
EVENTS_COOKIE_BANNER_VIEWED 查看了 Cookie 的联系人。
EVENTS_DOCUMENT_SHARED_V2 通过外部链接与联系人共享的销售文档。
EVENTS_DOCUMENT_VIEWED_V2 销售文档以及通过打开外部链接查看过这些文档的联系人。
EVENTS_DOCUMENT_COMPLETED_V2 已结案的销售文档及其对应的联系人。
EVENTS_HS_SCHEDULED_EMAIL_V2 已提交至 HubSpot 邮件服务器待发送的电子邮件。
EVENTS_MTA_DELIVERED_EMAIL_V2 已由 HubSpot 邮件服务器成功投递给收件人的邮件。
EVENTS_MTA_BOUNCED_EMAIL_V2 被收件人邮件服务器拒绝的邮件投递尝试。
EVENTS_OPENED_EMAIL_V2 联系人打开了电子邮件。
EVENTS_REPORTED_SPAM_EMAIL_V2 被收件人标记为垃圾邮件的电子邮件。
EVENTS_UPDATED_EMAIL_SUBSCRIPTION_STATUS_V2 收件人对电子邮件订阅状态的更改。
EVENTS_OPENED_TRACKED_INBOX_EMAIL_V8 联系人打开“收件箱”邮件的记录。
EVENTS_MB_MEDIA_PLAYED 联系人视频播放活动。
EVENTS_V2_CONTACT_BOOKED_MEETING_THROUGH_SEQUENCE 联系人通过序列预约了会议。
EVENTS_V2_CONTACT_ENROLLED_IN_SEQUENCE 联系人已通过序列注册。
EVENTS_V2_CONTACT_FINISHED_SEQUENCE 序列已完成。
EVENTS_V2_CONTACT_REPLIED_SEQUENCE_EMAIL 联系人回复了通过序列发送的电子邮件(或导致退出序列的收到的电子邮件)。
EVENTS_V2_CONTACT_UNENROLLED_FROM_SEQUENCE 联系人已从序列中退订。
EVENTS_V2_CONTACT_UNENROLLED_MANUALLY_FROM_SEQUENCE 用户手动将该联系人从序列中退订。
EVENTS_V2_CONTACT_UNSUBSCRIBED_SEQUENCE_EMAIL 联系人已取消订阅,从而退出了序列。
EVENTS_V2_SEQUENCE_EMAIL_BOUNCED 序列邮件被退回。
EVENTS_V2_SEQUENCE_ERRORED 序列发生错误,导致退订。
EVENTS_V2_SEQUENCE_STEP_EXECUTED 序列步骤已执行。
EVENTS_VISITED_PAGE 联系人访问网站页面的情况。
EVENTS_<INTEGRATION_EVENT_NAME>_<UNIQUE_IDENTIFIER> 集成事件(Timeline V3 API)

您可以通过结合事件类型 ID 和 ID 来识别事件。返回的列取决于事件本身,每个事件属性对应一列。所有事件都会返回以下列:

请注意: HubSpot 已在所有事件表和视图中新增了两列:

  • occurredat
  • occurredatdateint

这些列将于2022 年 11 月 24 日取代occuredat和occuredatdateint列。自该日起,旧列将不再可用,且尝试使用这些列查询包含事件的数据库对象或视图将失败。了解有关 Snowflake 数据共享重大变更的更多信息。



列名 类型 描述
EVENTTYPEID Varchar 事件类型的 ID,类似于 OBJECTTYPEID
您可以使用object_and_event_type_definitions视图查询您账户中的所有事件类型 ID。
ID Varchar 该 ID 对于每个事件类型都是唯一的。在给定的事件类型内,不会有两条记录拥有相同的 ID。
OBJECTTYPEID Varchar 触发该事件的对象类型。例如,电子邮件链接点击事件在此列中会显示0-1,代表“联系人”对象。
OBJECTID 数字 触发该事件的记录的ID。
OCCURREDAT 时间戳 事件发生的时间。

OCCURREDATDATEINT

 

数字 一个表示事件发生时间的数字。包含与OCCURREDAT列相同的数据,但格式为数字,并用作表的聚簇键的一部分。在大多数情况下,您可以使用OCCURREDAT时间戳来代替此数字。

OCCUREDATDATEINT

数字

一个表示事件发生时间的数字。包含与OCCURREDAT列相同的数据,但格式为数字,并作为表的集群键的一部分。在大多数情况下,您可以使用OCCURREDAT时间戳来代替此数字。

请注意:该列将于 2022 年 11 月 24 日弃用,并由OCCURREDATDATEINT 取代。

OCCUREDAT 时间戳

事件发生的时间。

请注意:该列将于 2022 年 11 月 24 日弃用,并由OCCURREDAT 取代。

INGESTEDAT 时间戳 Snowflake 最后摄入该数据的日期和时间。了解有关列数据类型的更多信息。
PROPERTY_* Varchar 包含事件属性的各个列。

示例 1

检索最近的 50 个电子邮件点击事件。

查询:


SELECT eventTypeId, objectTypeId, objectId, occuredAt, property_hs_click_raw_url AS hs_click_raw_url
FROM events_clicked_link_in_email_V2
ORDER BY occuredAt

LIMIT 50;


返回结果: 

EVENTTYPEID OBJECTTYPEID OBJECTID OCCUREDAT HS_CLICK_RAW_URL
4-666288 0-1 45318579 2016-08-04 21:06:43.245 http://website.com?utm_campaign=Launch&utm_source=hs_email&utm_medium=email&utm_content=32520579
4-666288 0-1 80701 2016-08-29 13:31:28.622 https://cta-image-cms2.hubspot.com/ctas/v2/public/cs/ci/?pg=f0f6585a-08fc-4273-8422-49cfaddcf8d8&pid=1976760&ecid=ACsprvtkRbakerw4BiWlaDL7xFAqau1aW9m1_PAqSfQiWarY69X7Ds42zHGYTCfhHJLrXUP86Nxu
4-666288 0-1 26146013 2017-11-30 14:27:11.528 https://hubs.ly/H097a37a?utm_source=hs_email&utm_medium=email&utm_content=58251290
... ... ... ... ...

示例 2

检索所有由点击者触发的电子邮件点击事件。此查询通过object_with_object_properties 关联获取联系人数据。

查询:


SELECT
click.occuredat click_timestamp,
click.property_hs_click_raw_url click_url,
contact.properties:firstname::varchar contact_firstname,
contact.properties:lastname::varchar contact_lastname
FROM events_clicked_link_in_email_V2 click
LEFT JOIN object_with_object_properties contact
ON click.objectTypeId = contact.objectTypeId
AND click.objectId = contact.objectId
LIMIT 3;


返回结果: 

点击时间戳 点击链接 联系人_名字 联系人_姓
2019-01-04 22:35:41.264 https://help.website.com/articles/tutorial/how-to-use-email-tool?utm_source=hs_automation&utm_medium=email&utm_content=68042217 霍布斯 巴伦
2018-11-08 09:37:41.400 https://www.website.net/webinar-case-study?utm_source=hs_automation&utm_medium=email&utm_content=55200164 米洛 Gold
2018-11-08 09:37:41.426 https://www.website.net/contact?utm_source=hs_automation&utm_medium=email&utm_content=55200164 哈洛 维拉里
... ... ... ...

对象与事件类型查询

object_and_event_type_definitions

此数据库对象包含您 HubSpot 账户中所有可用对象和事件的定义。

该数据库对象可返回以下列:

列名 类型 描述
OBJECTTYPEID Varchar 管道中可能包含的对象的 ID(例如,交易或工单)。
FULLYQUALIFIEDNAME Varchar 对象或事件的名称。
INGESTEDAT 时间戳 Snowflake 最后一次摄入该数据的日期和时间。了解有关列数据类型的更多信息。

示例 1

检索您 HubSpot 账户中所有可用的对象和事件。

查询:


SELECT objectTypeId, fullyQualifiedName
FROM object_and_event_type_definitions;

 
返回结果: 

OBJECTTYPEID 完全限定名称
0-1 CONTACT
0-8 行项目
0-11 对话
... ...

受众细分查询

下面,了解如何查询您的受众细分,例如可用的联系人细分和公司细分,以及这些细分中包含的记录。

细分

此数据库对象包含有关 HubSpot 联系人及公司细分的信息。每个细分返回一行,列中包含细分详细信息,例如细分名称、规模以及其中记录的对象类型。不包含各细分内单个记录的信息(请参阅segment_membership)。 

此数据库对象可返回以下列:

列名 类型 描述
OBJECTTYPEID Varchar 该分段中记录的类型(例如,联系人或公司)。
SEGMENTID 数字 该分段的 ID。与“分段成员关系”表中的SEGMENTID列建立关联。
CLASSICSEGMENTID 数字 一个特定于联系人细分群组的 ID,该 ID 与 HubSpot 中该细分群组 URL 中的 ID 相匹配。
NAME Varchar 细分群组的名称。
SIZE 数字 该分段中的记录数。
CREATEDBYUSERID 数字 创建该分段的用户 ID。
CREATEDAT 时间戳 该细分在 HubSpot 中创建的时间。
UPDATEDBYUSERID 数字 最近一次更新该受众群组的用户 ID。
UPDATEDAT 时间戳 该数据在 HubSpot 中最后一次更新的日期和时间。了解有关列数据类型的更多信息。 
INGESTEDAT 时间戳 Snowflake 最后导入该数据的日期和时间。

示例 1

检索所有联系人细分。

查询:


SELECT segmentId, name, size
FROM segments
WHERE objectTypeId = '0-1';

 
返回结果: 

SEGMENTSID 名称 大小
118131 每周外联 103
66156 博客订阅者 455
771852 2021年最活跃订阅者 37
... ... ...

示例 2

检索名为“2021年顶级订阅者”的特定联系人细分群体。 

查询:


SELECT segmentId, name, size 
FROM segments
WHERE objectTypeId = '0-1'
AND
segmentName = 'Top subscribers 2021';


返回结果: 

细分ID 名称 大小
771852 2021年订阅量最高的用户 37

segment_membership

该数据库对象包含关于哪些记录属于哪些受众群组的信息,该受众群组中的每条记录对应一行。例如,如果您有一个包含 500 个联系人的“博客订阅者”受众群组,则该数据库对象将返回 500 行。 

仅包含受众群体 ID 和对象 ID。如需更多信息,请与“受众群体”数据库对象进行关联查询。

该数据库对象可返回以下列:

列名 类型 描述
SEGMENTID Varchar 该分段的ID。与segments表中的HS_SEGMENT_ID列建立关联。
OBJECTID Varchar 段中记录的ID。
UPDATEDAT 时间戳 数据在 HubSpot 中最后一次更新的日期和时间。了解有关列数据类型的更多信息。
INGESTEDAT 时间戳 数据最后一次被 Snowflake 摄入的日期和时间。 

示例 1

检索“2021年顶级订阅者”细分中的所有联系人ID。

查询:


SELECT objectId
FROM segment_memberships
INNER JOIN segments
ON segment_memberships.segmentId = segments.segmentId
WHERE segments.objectTypeId = '0-1'
AND segments.name = 'Top Subscribers 2021';

 
返回结果: 

OBJECTID
54325098
96805401
6922028
...

示例 2

检索“2021年顶级订阅者”细分群体中所有联系人的姓名详情。

查询:

 

SELECT

contact.objectId AS object_id,

contact.properties:firstname::string AS firstname,

contact.properties:lastname::string AS lastname

FROM object_with_object_properties AS contact

内连接 段_成员资格 AS membership

ON contact.objectId = membership.objectId

内连接 segments

ON membership.segmentId = segments.segmentId

WHERE contact.objectTypeId = '0-1'

且 segments.objectTypeId = '0-1'

且 segments.name = '2021年顶级订阅者';

 


返回结果: 

OBJECTID

名字

姓

54325098

霍布斯

巴伦

96805401

米洛

Gold

6922028

亨利

莱利

...

...

...

常见问题

我想生成与 HubSpot 应用中的某份报告类似的数据,该如何操作?

通常,您需要查看与之对比的报告中包含的列。如果报告的可视化形式不是表格,将其转换为表格后即可显示报告包含的列。这些列通常是对象类型或事件类型的属性。下一步是确定某列对应于哪个对象类型的属性。您可以通过查询 property_definitions 来实现:


SELECT * FROM property_definitions

WHERE label = [column_name]

 

由于某些属性名称在应用中通常会被解析为更具描述性的名称,因此未必总能找到完全匹配的结果。在这种情况下,可以在 property_definitions 表的 label(甚至 description)列上使用 LIKE 运算符进行模糊搜索。

确定该列所属的对象类型后,确定查询内容就非常简单了。查询object_with_object_properties表,并按该类型的objectTypeId进行过滤。从 properties JSON 列中读取所需的属性值。

如何将此数据类型与另一个数据类型关联起来,例如如何检索某项营销活动的表单?

要检索与每个营销活动关联的表单,请将OBJECT_WITH_OBJECT_PROPERTIES、ASSOCIATIONS 和ASSOCIATION_DEFINITIONS 进行关联。


SELECT DISTINCT

campaigns.properties:hs_name::string AS 活动名称,

forms.properties:hs_form_id::string AS form_id

FROM object_with_object_properties AS campaigns

连接 关联 AS 协会

 ON association.fromObjectId = campaigns.objectId

连接 关联定义 AS definition

 ON definition.combinedAssociationTypeId =

association.combinedAssociationTypeId

JOIN object_with_object_properties AS 表单

ON forms.objectId = association.toObjectId

WHERE campaigns.objectTypeId = '0-35'

AND 表单.对象类型ID = '0-28'

且 定义.源对象类型ID = '0-35'

且 definition.toObjectTypeId = '0-28';

如何查看 HubSpot-Snowflake 集成的状态?

要获取有关 HubSpot-Snowflake 集成故障和问题的实时状态更新,请查询 data_share_status 视图:

SELECT * FROM hubspot.public.data_share_status
LIMIT 1

结果将显示如下:

状态 消息 更新日期
已确认 目前未发现任何已知事件 2023-04-10 09:21:20.123

该视图按时间倒序提供集成状态的更新。将此查询结果集成到仪表板中,可帮助您跟踪集成的性能,并检测任何停机或故障情况。 

这篇文章有帮助吗?
此表单仅供记载反馈。了解如何获取 HubSpot 帮助。