最終更新日: 2025年9月12日
‘プログラミング可能なコンテンツが含まれるEメールを作成する’; プログラミング可能なコンテンツを使用することで、HubLでHubSpotアカウントのデータを取得して、Eメールをパーソナライズできます。 プログラマブルEメールで使用できるデータソースは、HubSpotサブスクリプションに応じて異なります。
  • Marketing Hub Professionalサブスクリプションをご利用の場合、標準CRMオブジェクト(コンタクト、会社、製品など)のデータを使用できます。
  • Marketing Hub Enterpriseサブスクリプションをご利用の場合は、HubDBテーブルやカスタムオブジェクトなどの構造化データソースを使用することもできます。このデータは、受信者のコンタクトプロパティーに基づいて絞り込むことができます。
例えば、不動産のウェブサイトでは、見込み客に希望する物件の要件を入力してもらうフォームを設置することができます。見込み客がフォームを送信すると、フォームの入力内容に基づき、見込み客が興味を持ちそうな物件情報をEメールで送信するワークフローを設定できます。

Eメール送信の上限

プログラマブルEメールには、CRM HubL関数であるcrm_objectcrm_objectscrm_associationsを含めることができますが、これらの関数を含むEメールには、送信する受信者数によって、以下の制限が適用されます。
500,0001
250,0002
165,0003
125,0004
100,0005
上記のいずれかの制限値に達するか、それを超えるEメールを送信すると、Eメールの送信に遅延が生じるか、キャンセルされます。 上記の制限に加え、以下の点にもご注意ください。
  • プログラマブルEメールを複製する場合、元のEメールが処理中の状態にある間は、複製したEメールを送信することはできません。Eメールの送信ごとに、少なくとも1時間の間隔を空ける必要があります。
  • crm_objectcrm_objectscrm_associationsのHubL関数が含まれるプログラマブルEメールでは、A/Bテストを実施することはできません。これらの関数を使用して送信されたEメールは、他のEメールよりも送信時間が大幅に遅いため、テスト結果が不正確になる恐れがあります。

1. プログラマブルEメールのモジュールを作成する

HubDBまたはカスタムオブジェクトのデータにアクセスするためのEメールモジュールを作成するには、次の手順に従います。
  • HubSpotアカウントにて、[マーケティング]>[ファイルとテンプレート]>[デザインマネージャー]の順に進みます。
  • 左上の[ファイル]をクリックし、[新規ファイル]を選択します。
  • 表示されるダイアログボックスで、ファイルタイプとして[モジュール]を選択し、[次へ]をクリックします。次に、[Eメール]チェックボックスをオンにして、ファイルの名前を入力します。
  • [作成]をクリックします。
  • 作成したモジュールで、プログラマブルEメールを有効にするには、次の手順に従います。
    • 右側の設定パネルで、[モジュールをプログラマブルEメールのベータに対応させる]スイッチをオンに切り替えます。
    プログラマブルEメールスイッチ0
  • また、コード化されたEメールテンプレートでは、ファイルの先頭にisEnabledForEmailV3Rendering: trueを追加することで、プログラマブルEメールを有効にできます。 プログラマブルEメール用のデザイン マネージャー テンプレートを有効にする
モジュールを作成したら、CRMのデータにアクセスするためのコードを追加します。次の例は、さまざまなデータソースからクエリーを実行する方法を示しています。

標準オブジェクト

crm_objectcrm_objectscrm_associationsなどのHubL関数を使用して、コンタクト、会社、製品など、アカウント内の標準オブジェクトのデータを照会できます。 以下のコードは、crm_object HubL関数を使用して、IDが2444498793の製品のデータを照会し、名前、説明、価格をレンダリングします。
{% set product = crm_object("product", 2444498793, "name,description,price") %}

<div>
  <p>
    <span>Name: </span>
    <span>{{ product.name }}</span>
  </p>
  <p>
    <span>Description: </span>
    <span>{{ product.description }}</span>
  </p>
  <p>
    <span>Price: </span>
    <span>{{ product.price }}</span>
  </p>
</div>

カスタムオブジェクト

Marketing Hub Enterpriseアカウントをお持ちの場合は、アカウント内で作成されたカスタムオブジェクトのデータを照会できます。 以下のコードは、Propertyという名前のカスタムオブジェクトからデータを取得し、カスタムオブジェクトのプロパティーに格納されている値(場所、価格など)を返します。 以下の例では、HubL関数crm_objectsを呼び出す際の最初の引数として、カスタムオブジェクトの完全修飾名を使用しています。
  • 完全修飾名は、HubSpotアカウントID(プレフィックス:p)の後にアンダースコアとカスタムオブジェクトの名前(小文字、複数形)が続きます(例:properties)。
  • オブジェクトのfullyQualifiedNameを取得するには、CRMオブジェクトスキーマAPIGETリクエストを送信します。
{% set real_estate_listings = crm_objects("p2990812_properties", "", "listing_name,location, price, address, type") %}

{% for home in real_estate_listings.results %}
    {{ home.address}} <br>
	{{ home.price }} <br>
	<img
	alt="{{ home.name }}"
	src="{{ home.hero_image }}"
	style="outline: none; max-width: 100%;"
	width="260px"
	/>
	<br>
	<hr>
{% endfor %}
返されるデータを受信者ごとに絞り込むには、受信者のコンタクトプロパティーで結果を絞り込むためのqueryパラメーターを追加します。詳しくはフィルターオプションの一覧をご確認ください。
{% set query = "price__lte="~contact.budget_max|int~"&price__gte="~contact.budget_min|int~"&city="~contact.city"&order=listing_name" %}
{% set real_estate_listings = crm_objects("p2990812_Property", query, "listing_name,location, price, address, type") %}
{% for home in real_estate_listings.results %}

  ...

{% endfor %}

HubDB

Marketing Hub Enterpriseアカウントをお持ちの場合は、EメールでHubDBテーブルのデータを使用できます。 以下のコードでは、HubL関数hubdb_table_rowsを使用してテーブルから全てのデータを取得します。これにより、Eメールに全ての不動産物件がリスト表示され、各物件の画像とともに詳細情報が出力されます。
{% set real_estate_listings = hubdb_table_rows(1234567) %}

{% for home in real_estate_listings%}
    {{ home.address}} <br>
	{{ home.price }} <br>
	<img
	alt="{{ home.name }}"
	src="{{ home.hero_image.url }}"
	style="outline: none; max-width: 100%;"
	width="260px"
	/>
	<br>
	<hr>
{% endfor %}
返されるデータを受信者ごとに絞り込むには、queryパラメーターを追加します。このパラメーターで指定したコンタクトプロパティーを基準に、結果を絞り込むことができます。詳しくはフィルターオプションの一覧をご確認ください。
{% set query = "price__lte="~contact.budget_max|int~"&price__gte="~contact.budget_min|int~"&persona="~contact.hs_persona.value~"&order=listing_name" %}

{% for home in real_estate_listings %}

	...

{% endfor %}

2. モジュールをEメールに追加する

公開された状態のモジュールを、ドラッグ&ドロップEメールの本文に追加します。
  • HubSpotアカウントで、[マーケティング]>[Eメール]に移動します。
  • 作成したEメールを選択します。
  • 左のサイドバーにある[コンテンツ]で、[その他]をクリックします。プログラマブルEメールのモジュールをEメールの本文にドラッグします。
ドラッグ&ドロップEメールエディター - その他のモジュール 特定のコンタクトプロパティーを基準にデータを絞り込むようにモジュールを設定した場合、Eメールのプレビューは空白になります。これは、Eメールツールが特定のコンタクトでEメールをプレビューするように設定されていないためです。 特定のコンタクトに対してEメールがどのように表示されるのかをプレビューで確認するには、次の手順に従います。
  • 右上の[アクション]をクリックし、[プレビュー]を選択します。
Eメール アクション メニュー0
  • 次の画面で、[特定のコンタクトとしてプレビュー]ドロップダウンメニューをクリックし、プレビュー対象のコンタクトを選択します。
特定のコンタクトとしてEメールをプレビュー これで、受信者のコンタクトプロパティーを基に、その受信者に関連するデータのみが表示されるようになります。 Eメールプレビューのスクリーンショット Eメールテンプレートまたはモジュールに、HubLで解決できないカスタムコードが含まれている場合、その場所にプレースホルダーモジュールが表示されます。 プログラマブルEメールのプレースホルダーモジュール

HubDBに関するその他のチュートリアル

HubSpotアカデミー