先行利用を申し込む

お名前と会社のメールアドレスを入力してください。Tajoへのアクセス申請を確認するためのリンクをメールでお送りします。

Tajoチーム 初級 12分

Brevo との Shopify データ同期を理解する

Tajo が Shopify のデータを Brevo に移す仕組み。届いたイベントをその都度処理する Shopify アプリの Webhook 同期と、スケジュール実行、同意フィルター、冪等な書き込み、監査証跡を備えたガバナンスの効いた同期ルールについて解説します。

Tajo は 2 つの方法で Shopify のデータを Brevo に移します。Tajo の Shopify アプリは、届いた Shopify Webhook をその都度処理します。同期ルールは人が承認し、一方向で、バッチで実行され、最初から最後まで記録されます。この記事では両方の仕組み、それらに含まれないもの、そして Tajo の Shopify アプリが Shopify に書き戻すいくつかの内容を説明します。

はじめに確認 この記事は、Shopify と Brevo を接続し、同期ルールを 1 つ以上公開済みであることを前提としています。まだの場合は、Tajo と Shopify の接続から始めてください。

イベント発生時に: Tajo の Shopify アプリ

Tajo の Shopify アプリは Shopify Webhook をサブスクライブし、届いた Webhook をその都度処理します。顧客と商品の変更は、処理の前に約 4 秒待機します。顧客、注文、チェックアウト、商品、コレクション、在庫レベルはこの方法で Brevo に届き、order_paid や cart_abandoned などのイベントも送られます。すべてのトピックと、それぞれが Brevo に書き込む内容は Shopify 連携ガイドに掲載しています。

同期ルールの構造

同期ルール は、「何がどのように移動するか」を確認・承認済みの定義です。説明をもとにエージェントが作成し、人が承認します。ルールは 4 つの要素で構成され、Connections > Syncs and mappings のルールページで確認できます。

要素役割
フィールドマッピング各ソースフィールド、書き込み先の Brevo フィールド、その間に適用される変換
フィルター式レコードごとに評価され、条件に一致しないレコードはスキップされます
カーソル同期の進行位置を追跡し、各実行が前回の続きから再開できるようにします
実行履歴すべての実行と、その読み取り・書き込み・失敗レコード数、所要時間、ステータス

同期ルールは 一方向、つまりソースから Brevo へ のみデータを移動します。Shopify に書き込むことはありません。一方、Tajo の Shopify アプリは、同意のオプトアウトやロイヤルティティアのタグなど、いくつかの内容を Shopify に書き戻します。それぞれの書き込みとそのタイミングは Shopify 権限の解説に記載されています。

同期ルールが実行されるタイミング

同期ルールは バッチ で実行されます。コンタクトの同期ルールは、デフォルトで 15 分ごとに実行されます。有効で公開済みの Shopify orders → Brevo orders ルールも 15 分ごとに実行されますが、テンプレートの購入者マーケティングのオプトインフィルターがある場合に限ります。フィルターを編集したルールは、自分で開始したときにだけ実行されます。注文ルールの最初のスケジュール実行はその時点の数分前から始まり、それより古い注文は送りません。以降の各実行では、前回の実行以降に更新された注文を送ります。過去の注文が Brevo に送られるのは、ルールを自分で実行したときだけです。有効なルールのページには Test run (1 batch) ボタンがあり、依頼すれば Sync Operator エージェントが有効なルールを実行します。バッチ実行だからこそ、すべての書き込みが確認可能で、予算管理され、特定の実行に帰属させられるのです。

各実行は、カーソル以降の新規・変更レコードを読み取り、フィルターを適用し、フィールドをマッピングして Brevo に書き込みます。実行レコードには、読み取り・書き込み・失敗したレコード数が正確に表示されます。

ガバナンスの保証

同意はフェイルクローズド

個人データを Brevo に書き込むルールは、同意と配信抑止のフィルターなしには公開できません。実行時に、同意を証明できないままマーケティング用のオーディエンスに書き込まれようとするコンタクトは拒否されます。同意が確認できない場合、Tajo は推測せず書き込みを拒否します。失敗の方向は常に「慎重すぎる」側であり、「送りすぎる」側には決して倒れません。

実行は冪等

すべての書き込みには、ソースレコードから導出されたキーが付与されます。このキーはハッシュなので、個人データを含みません。失敗後、一時停止後、手動のいずれであっても、同じレコードに対して同期を再実行しても重複した書き込みは発生しません。

すべてが監査される

ルールの公開、無効になった承認、自動的な一時停止は Activity に記録されます。各承認判断には記載された理由が付きます。各実行はルールの実行履歴に記録されます。公開を許可した承認は、プレビューされたルールそのもののダイジェストに紐づいています。ルールを編集すると下書きに戻り、承認は無効になります。そのため、実行される内容は常に許可された内容と一致します。

失敗が続くとルールは一時停止

実行が 5 回続けて失敗すると、サーキットブレーカーがルールを自動的に一時停止し、最後のエラーをルールのページに表示します。原因を修正してから再公開すると再開できます。部分的に失敗した実行は失敗件数を報告するため、何が書き込まれなかったのかを正確に把握できます。

配信停止の扱い

  • コンタクトが Brevo のメールフッターのリンクから配信停止すると、そのオプトアウトはコンタクトに記録され、Brevo は以降のキャンペーンからそのコンタクトを除外します。
  • バッチの顧客同期では、Tajo の Shopify アプリが Shopify での同意の日時と Brevo での配信停止の日時を比較し、新しいほうを採用します。
  • Shopify から Webhook として届いた同意の変更は、Shopify が報告したとおりに Brevo に書き込まれます。
  • そのコンタクトが Shopify で購読中だった場合、Tajo の Shopify アプリは Shopify 側でも 配信停止 に設定します。Brevo のイベントは顧客を購読中から配信停止へ変更する方向にのみ動作します。誰かを購読状態にすることは決してないため、Brevo での購読は Shopify を変更しません。

利用できるデータ

Tajo の Shopify アプリは、コンタクト、注文、注文とカートのイベント、商品カタログ、在庫を送ります。同期ルールが何を送るかは、そのフィールドマッピングによって決まります。Shopify の顧客の場合、テンプレートは識別フィールド、累計購入金額、注文数、タグ、オプトインを、セグメントやキャンペーンで使える Brevo のコンタクト属性にマッピングします。ワークスペースでの正確なマッピングは説明文の中に隠れているわけではありません。同期ルールを開いてフィールドマッピングの表を読んでください。その表こそが「何が同期されるのか」への正式な答えです。

Tajo が現時点で行わないこと

長い機能リストよりも、境界を正確に示すことのほうが重要です。

  • 双方向の同期ルールはありません。 同期ルールは Brevo にのみ書き込みます。Shopify アプリ自身による Shopify への書き込み(同意のオプトアウト、Brevo のエンゲージメントとロイヤルティのメタフィールド、ロイヤルティティアのタグ)は Shopify 権限の解説に記載されています。
  • リアルタイムの同期ルールはありません。 同期ルールはバッチで実行されます。イベント発生時にその都度動くのは、Tajo の Shopify アプリの Webhook 同期だけです。
  • 再入荷通知ボタンはありません。 アプリは Brevo の商品在庫を最新の状態に保ち、通知を希望した購入者に back_in_stock イベントを送ります。リクエストはストアフロントから送る必要があります。アプリはテーマに「入荷通知」ボタンを追加しません。

これらの境界がユースケースの妨げになる場合は、チームにお知らせください。アーリーアクセスの優先順位は、まさにこうしたフィードバックによって決まります。

データの確認場所

  • Tajo では:Connections > Syncs and mappings から同期ルールを開くと、実行履歴、カーソル位置、実行ごとの件数を確認できます。Activity には公開と自動的な一時停止が記録されます。
  • Brevo では:コンタクト を開き、任意のコンタクトの属性を確認して、マッピングされたフィールドにデータが入っていることを確かめてください。それらの属性を使ってターゲティング用のセグメントを構築できます。

トラブルシューティング

  • Brevo にコンタクトが表示されない:ルールの最新実行に失敗がないか、ステータスを確認してください(一時停止中のルールは実行されません)。Brevo にコンタクトが表示されないを参照してください。
  • 実行が繰り返し失敗する:サーキットブレーカーがルールを一時停止し、最後のエラーを表示します。データが同期されないを参照してください。
  • コンタクトが重複する:書き込みはソースレコード単位で冪等ですが、Brevo に元から存在していた重複はそのまま残ります。重複コンタクトを参照してください。

よくある質問

同期を速くできますか? 有効なルールのページには Test run (1 batch) ボタンがあります。変更をその都度反映する用途には、Tajo の Shopify アプリの Webhook 同期がすでに顧客、注文、チェックアウト、商品、在庫をカバーしています。

実行が途中で失敗したらどうなりますか? 実行は失敗件数を報告し、カーソルは処理済みの範囲だけ進みます。次の実行が安全に残りをカバーし、冪等キーが重複を防ぎます。

同期内容を変更できますか? はい。エージェントに、ルールのフィールドマッピングやフィルターの変更を依頼してください。編集するとルールは下書きに戻り、再び実行される前にもう一度プレビューと承認を経る必要があります。

ルールが勝手に一時停止したのはなぜですか? 実行の連続失敗でサーキットブレーカーが作動したためです。ルールのページに失敗回数と最後のエラーが表示されます。問題を修正して再公開してください。

関連記事

サポート

チームにお問い合わせください。