メールにカスタム ウェブフィードを追加する方法
このページで学べること
メール内でカスタム ウェブフィードを追加して使用する方法をご確認ください。カスタム ウェブフィードを使用すると、外部 URL から取得したデータフィードを Klaviyo Email 内に動的に表示できます。メールを送信する前に、Klaviyo は URL に HTTP リクエストを行い、データを取得します。その後、ウェブフィードのコンテンツをメールで使用できるようになります。
ウェブフィードの強みは、単一のテンプレートを使用してコンテンツを動的に取り込める点にあります。フィードを最新の状態に保つだけで、Klaviyo がフィードからの新しいコンテンツをすべての送信に確実に反映します。
この記事では、キャンペーンとフローでカスタム ウェブ フィードを追加して使用する方法について説明します。
始める前に
Klaviyo の任意のメールに動的な外部コンテンツを追加する最初のステップは、ウェブフィードソースを作成することです。フィードは次の要件を満たす必要があります:
- JSON または XML 形式のいずれかでアクセス可能な URL でホストされていること
- 3.3 MB 以下であること
- リダイレクト URL を使用しない
Klaviyo は指定した URL に HTTP リクエストを行い、フィードデータを取得します。フローのメールは継続的に送信されるため、Klaviyo は次のいずれかのスケジュールで定期的にフィード URL をクエリし、更新されたコンテンツを取り込むことで、フィードコンテンツを最新の状態に保ちます。
- 15 分ごとに更新
Klaviyo は 15 分ごとにフィードの更新を試みます。これを実現するには、フィードが 5 秒以内に読み込まれ、成功レスポンスを返す必要があります。
Klaviyo は 15 分ごとにウェブフィードを更新しますが、更新が完了するまでに時間がかかる場合があります。ウェブフィードの商品がキャンペーンで更新されるようにするには、キャンペーンの送信の少なくとも 30 分前にフィードを更新する必要があります。
- 毎晩更新
フィードの応答に 5 秒以上かかり、3 時間試しても返ってこない場合は、代わりにフィードを毎晩更新するように試行を開始します。継続的に毎晩更新するには、フィードが 30 秒未満で読み込まれる必要があります。
3 晩連続で 30 秒以内にフィードを読み込めない場合、このフィードをメールで使用できなくなります。このフィードに依存するフローのメールは送信が停止し、フィードを削除するかフィードの未解決の問題が解決するまで、キャンペーンとフローのメールは送信されません。
フィードに対してクエリを実行した際にエラー応答が返された場合、フィードのコンテンツにアクセスできません。上記と同じパターンに従い、最大 3 日間再試行します。それまでの間、メールは送信されません。
ウェブフィードへのアクセスに問題がある場合は、アプリ内通知とメール通知でお知らせします。簡単なトラブルシューティング手順として、フィード要件を再確認し、上記で説明したパラメーターに適合していることを確認してください。
フィードに変更を加えた場合(たとえば、アップロード時間を短縮するためにサイズを小さくしたり、エラー応答の原因となっている問題を修正したりした場合)に、Klaviyo に新しい更新を再試行させたいときは、[データフィード] タブでフィードに移動し、[データフィードを更新] をクリックしてください。フィードをテストし、再検証します。フィードが有効で、タイムリーに応答が返ってくる場合は、コンテンツを最新の状態に保つための試行を再開します。これは、変更を行っていない場合でも、ウェブフィードへのアクセスに問題があるときに試すとよいトラブルシューティング手順です。
Django フィルター
挿入する変数には Django フィルターを使用できます。以下はよく使われるフィルターの一部です。詳細は 「フィルターを使用して変数をカスタマイズする」のガイドと、「変数フィルターの用語集」をご覧ください。
投稿の要約を X 語以内に制限
投稿タイトルの下にブログ記事の簡単な要約を含めたい場合(フィードでこの要約テキストが提供されている場合)は、Truncate Filter を使用できます。

たとえば、記事の概要を 250 文字に制限するには、以下を使用できます:
{{ item.summary|truncatechars:250 }}
カスタム ウェブフィードを追加
フィードを設定する
- Klaviyo の左下隅にある会社名をクリックします。
- [設定] をクリックします。
- その他 をクリックします。
- [ウェブフィード] をクリックします。
- [ウェブフィードを追加] をクリックします。
- 次のようにウェブフィードのフィールドを入力します:
- フィード名
この識別子は後でテンプレート内で使用し、フィードのコンテンツにアクセスします。フィードに短い説明的な名前を付けてください。フィードの命名は、キャメル ケース(例:"MyDataFeed")またはすべて大文字でスペースをアンダースコアに置き換える形式(例:"MY_DATA_FEED")を推奨します。フィード名にスペースは使用できません。 - フィード URL
Klaviyo がフィードコンテンツを取得するために使用するエンドポイント(つまり、以前に設定した JSON または XML フィードの URL)。フィードに非公開情報が含まれている場合は、HTTPS の URL を使用し、フィードを保護するために nonce のクエリパラメーターを含めることを強く推奨します。 - リクエストメソッド
フィードのリクエストに使用する HTTP メソッドを指定します。どれを選べばよいかわからない場合は、GETを選択します。 - コンテンツ タイプ
フィードの形式(JSON または XML)。可能であれば JSON を使用することを推奨します。XML フィードの場合、フィードは JSON に変換されます。
- フィード名
- すべてのフィールドに入力したら、[ウェブフィードを追加] をクリックします。フィード URL のクエリを試行し、フィードが正常に動作していることを検証します。エラーが発生した場合はエラーメッセージが表示され、問題が解決されるまでこの新しいフィードを保存できません。
- 試してみたいものの独自のウェブ フィード URL がありませんか?当社のものを使用してください。以下の Klaviyo ヘルプセンターの URL を フィード URL ボックスにコピーして、Klaviyo アカウントで試してください:
https://help.klaviyo.com/api/v2/help_center/en-us/articles.json- Klaviyo はフィードを検証し、潜在的なエラーを表示します。検証が完了すると、Klaviyo でフィードが表示され、メールで使用する準備が整います。

フィードをプレビュー
メールに追加する前に、ウェブフィードをプレビューすると便利です。フィードをプレビューするには:
- ウェブフィード ページで、フィードを見つけます。
- 3 つのドットをクリックし、[編集] を選択します。

- フィード詳細ページで [プレビュー] をクリックします。
フィードをプレビューすると、フィードのコンテンツが表示されるか、フィードを読み込めない場合はエラー メッセージが表示されます。
フィードが JSON 配列の場合は、自動的に解析し、各行を個別に表示します。それ以外(多くの場合は JSON 辞書)の場合は、辞書全体を表示します。
フィードを積極的に開発している場合は、最新バージョンのフィードを取得するために [更新] ボタンを使用してください。フィードのプレビューページには、フィード全体が表示されます。フィードが大きい場合、内容の表示に数秒かかることがあります。フィードのクエリに 30 秒以上かかる場合、このフィードに依存するメールのパフォーマンスに影響します。
ウェブ フィードを追加して内容をプレビューしたので、メールで使用できます。
メールでウェブフィードを使用する
キャンペーンの場合、Klaviyo は送信ごとに各フィードを 1 回取得し、返されたコンテンツを保存します。数千人の受信者に送信する場合でも、Klaviyo がサーバーに数千回リクエストを行うことはありません。
テンプレートにフィード コンテンツを設定する
前のセクションの例のウェブフィードでは、各エントリに名前、URL、記事 ID などを含む記事の配列があります。フィードがメールに追加されると、feeds 変数を通じて利用できます。
{{ feeds }}
たとえば、上記の JSON フィードでは、この構文をテンプレートに含めることで、記事フィードの内容を参照または出力できるようになりました。
{{ feeds.Klaviyo_Help_Center }}
配列内のすべてのエントリを反復処理し、特定の変数を表示する例を確認していきましょう。ここでは Klaviyo Blog フィードを例として使用し、Images を反復処理します。
- メールに新しいテキストブロックをドラッグし、ウェブフィードを表示したい場所に配置します。
- ブロックの繰り返し/コンテンツ繰り返し機能をオンにします。テキストブロックの [表示オプション] タブをクリックし、次に [繰り返しルールを作成] をクリックします。
- Repeat For フィールドには、feeds.YOUR_FEED_NAME を入力し、その後に反復処理する配列を含む変数名を入力します。
- この例では、"articles" の値についても反復処理しているため、次を対象に繰り返します: feeds.Klaviyo_Help_Center.articles。
- データは、一連の変数内にネストされている場合があります。例えば、フィードが次のように構成されている場合があります:この場合、Repeat for として
feeds.YOUR_FEED_NAME.rss.channel.itemを使用します。
rss: {
.....
channel: {
.....
item: {
.....}}}- このブロックを特定の件数のエントリのみで反復させたい場合は、"slice" フィルターを使用してください。このフィルターを使用するには、末尾にフィルターを追加して「繰り返し対象」の値を調整します:
feeds.Klaviyo_Help_Center.articles|slice:':3'
この例では、|slice:':3'により最初の 3 件のエントリのみが表示されます。 - Item Alias フィールドに、次を挿入します。
item - Repeat Block/Content Repeat 機能を設定したら、"item" エイリアスを使用して変数を挿入できます。
- 変数を識別して追加するには、ウェブフィードのプレビューを開き、データの構造を参照します。[次を繰り返す]フィールドで使用されている配列内にネストされているデータは、変数として使用できます。
この例では、articles 配列内に表示されているすべてのデータをメールで使用できます:

- 第 1 階層データの場合は、データに表示されている変数名の前に、単に item を追加します。たとえば、
{{ item.title }}を使用して記事のタイトルを表示したり、{{ item.url }}を使用して記事の URL を表示したりできます。 - 第 1 階層の変数内にネストされたデータにアクセスするには、ドット表記(例:
{{ item.images.thumbnail_url }})を使用します。ドット表記とテンプレート変数の詳細については、テンプレートタグと変数構文のガイドをご覧ください。 - テンプレートをプレビューすると、Repeat Block/Content Repeat 機能により、このシンプルなテキストブロックがフィード内のすべてのエントリを自動的に反復処理できることがわかります。テキストブロックで指定した変数のみが、各エントリに対して表示されます。
- 画像を挿入する場合は、専用の HTML ブロックを使用し、画像を
<img src>タグ内に含める必要があることにご注意ください。

カスタム ウェブ フィードをメールに追加しました。これで外部 URL からデータのフィードを動的に入力できるようになりました。
フィードをテストまたは検証する
ウェブ フィードへのアクセスに問題がある旨のメールまたはアプリ内通知を受け取った場合:
- フィードに移動し、[フィードを更新] ボタンをクリックします。
- 検証が完了すると、表示される可能性があるエラー メッセージは 2 種類あります。
- 無効な応答
フィードコンテンツのクエリを試行した際にエラー応答を受け取った場合は、エラーのステータスコードをお知らせします。このエラー応答の原因となっている問題に対処しないと、フィードをどのメールでも正常に使用できません。 - パフォーマンスの問題
30 秒以内にフィードから応答がない場合、送信遅延につながります。これまでフィードを保存できていた場合でも、送信遅延のリスクを軽減するために、再検証して正常に保存する前に、フィードのパフォーマンスの問題に対処する必要があります。
- 無効な応答
いずれの場合も、送信内で問題のあるフィードを使用すると、送信の遅延につながるか、メールが完全にキャンセルされる可能性があります。フローの場合も、メールが送信されていない可能性があります。
送信の中断を防ぐため、未解決の問題に対処している間は、問題のあるフィードをすべてのメールから削除することをおすすめします。
その他のリソース
- メール内の Instagram ウェブフィードのトラブルシューティング
メール内の Instagram ウェブフィードが動作しない場合のトラブルシューティング方法をご覧ください。これは、Klaviyo がフィードコンテンツを取得する際に問題が発生していることが原因である可能性が高いです。原因を特定するには、まずフィードのテストをお試しいただくことをおすすめします。
- 商品フィードとおすすめ機能の使用方法
メッセージ内で商品をおすすめするために、Klaviyo で商品フィードを作成する方法を学びましょう。商品フィードは、商品カタログや顧客の行動データ(過去に閲覧または購入した商品など)を取り込み、その情報をもとにして、購読者に合わせておすすめ商品を提示します。