Shopify コネクター

Shopify コネクター

Shopify ストアを Brevo に接続することで、完全な顧客データ同期、カゴ落ち回復、マーケティングキャンペーンの自動化が可能になります。

概要

項目
プラットフォームShopify
カテゴリーeコマース
セットアップ難易度容易
公式統合あり
同期データ顧客、注文、商品、カート、イベント
利用可能なスキル12

機能

  • リアルタイム顧客同期 - 顧客データを即座に Brevo コンタクトへ同期
  • 注文追跡 - 購入後フロー向けの注文イベント
  • 商品カタログ同期 - レコメンデーション用商品の連携
  • カゴ落ち - 放棄カートの追跡と回復
  • 閲覧行動 - ページ閲覧や商品興味の追跡
  • マルチストア対応 - 複数の Shopify ストアを接続

前提条件

開始する前に、以下をご用意ください。

  1. 管理者権限のある Shopify ストア
  2. API アクセス付きの Brevo アカウント
  3. Tajo アカウント

インストール

方法 1: Shopify App Store (推奨)

  1. Shopify App Store の Tajo アプリ にアクセス
  2. 「アプリを追加」をクリック
  3. 要求された権限を付与
  4. Brevo アカウントを接続

方法 2: 手動インストール

ステップ 1: Shopify アプリを作成する

  1. Shopify 管理画面 → 設定 → アプリと販売チャネル に移動
  2. 「アプリを開発」→「アプリを作成」をクリック
  3. 「Tajo Integration」と命名

ステップ 2: API スコープを設定する

以下のスコープを有効化します。

read_customers
write_customers
read_orders
read_products
read_checkouts
write_script_tags

ステップ 3: アプリをインストールする

Terminal window
# Using Tajo CLI
tajo connectors install shopify \
--shop-url your-store.myshopify.com \
--api-key $SHOPIFY_API_KEY \
--api-secret $SHOPIFY_API_SECRET

ステップ 4: ウェブフックを設定する

Tajo は以下のウェブフックを自動的に登録します。

ウェブフック目的
customers/create新規顧客の同期
customers/update顧客データの変更
customers/delete顧客の削除
orders/create注文確定イベント
orders/updated注文ステータスの変更
checkouts/createカート作成
checkouts/updateカート更新

設定

基本セットアップ

connectors:
shopify:
enabled: true
shop_url: "your-store.myshopify.com"
api_version: "2024-01"
# Data sync options
sync:
customers: true
orders: true
products: true
carts: true
inventory: false # Optional
# List assignment
lists:
all_customers: 5
buyers: 6
abandoned_cart: 7

フィールドマッピング

Shopify のフィールドを Brevo コンタクト属性にマッピングします。

既定のマッピング

Parameter Type Description
email required
string

顧客のメールアドレス (一意の識別子)

first_name optional
string

FIRSTNAME 属性にマッピング

last_name optional
string

LASTNAME 属性にマッピング

phone optional
string

WhatsApp/SMS 用の SMS 属性にマッピング

accepts_marketing optional
boolean

購読ステータスを制御

orders_count optional
integer

合計注文件数

total_spent optional
number

顧客の生涯価値

tags optional
array

Shopify からの顧客タグ

カスタム属性マッピング

field_mapping:
# Standard fields
email: email
first_name: FIRSTNAME
last_name: LASTNAME
phone: SMS
# E-commerce metrics
orders_count: ORDER_COUNT
total_spent: TOTAL_SPENT
last_order_date: LAST_ORDER_DATE
# Custom fields
customer_type: CUSTOMER_TYPE
preferred_language: LANGUAGE
loyalty_tier: VIP_TIER
# Computed fields
average_order_value: AOV
days_since_last_order: RECENCY

商品同期

メール内レコメンデーション用に商品を同期します。

sync:
products:
enabled: true
include_variants: true
include_images: true
categories_as_tags: true
# Filter products
filter:
status: active
exclude_tags: ["hidden", "wholesale-only"]

在庫追跡

在庫数の同期を有効化します。

sync:
inventory:
enabled: true
low_stock_threshold: 10
out_of_stock_events: true

イベント

顧客イベント

イベントトリガー用途
customer_created新規顧客登録ウェルカムシリーズ
customer_updatedプロファイル変更データ同期
customer_tags_addedタグ割り当てセグメント更新

注文イベント

イベントトリガー用途
order_placedチェックアウト完了注文確認
order_fulfilled注文発送発送通知
order_cancelled注文キャンセルキャンセルメール
order_refunded返金処理返金確認

カートイベント

イベントトリガー用途
cart_createdカートに商品追加閲覧トラッキング
cart_updatedカート変更カート金額の追跡
cart_abandoned30 分間チェックアウトなし回復メール

有効化されるスキル

Shopify コネクターは以下のスキルを有効化します。

スキル説明
顧客同期リアルタイムの顧客同期
注文イベント注文ライフサイクル追跡
カゴ落ちカート回復メール
ウェルカムシリーズ新規顧客オンボーディング
購入後フォロー注文後のフォローアップ
ウィンバック休眠顧客の再エンゲージ
閲覧放棄商品興味フォローアップ
リピート購入再注文リマインダー

コード例

コネクターの初期化

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Connect Shopify store
await tajo.connectors.connect('shopify', {
shopUrl: 'your-store.myshopify.com',
apiKey: process.env.SHOPIFY_API_KEY,
apiSecret: process.env.SHOPIFY_API_SECRET
});

初回同期の実行

// Full historical sync
await tajo.connectors.sync('shopify', {
type: 'full',
resources: ['customers', 'orders', 'products'],
since: '2023-01-01'
});
// Check sync status
const status = await tajo.connectors.status('shopify');
console.log(status);
// {
// connected: true,
// lastSync: '2024-01-15T10:30:00Z',
// customersCount: 15420,
// ordersCount: 8234,
// productsCount: 342
// }

カートイベントのトラッキング

Tajo スクリプトを Shopify テーマに追加します。

<!-- Add to theme.liquid before </head> -->
{% if customer %}
<script>
window.tajoConfig = {
customerId: "{{ customer.id }}",
customerEmail: "{{ customer.email }}",
customerName: "{{ customer.first_name }}"
};
</script>
{% endif %}
<script src="https://cdn.tajo.io/shopify.js"></script>

カスタムウェブフックハンドラー

// Handle Shopify webhooks manually
app.post('/webhooks/shopify', async (req, res) => {
const hmac = req.get('X-Shopify-Hmac-SHA256');
// Verify webhook signature
if (!verifyShopifyWebhook(req.body, hmac)) {
return res.status(401).send('Unauthorized');
}
const topic = req.get('X-Shopify-Topic');
// Forward to Tajo
await tajo.connectors.handleWebhook('shopify', {
topic,
payload: req.body
});
res.status(200).send('OK');
});

モニタリング

ダッシュボードメトリクス

Tajo ダッシュボードで Shopify 接続をモニタリングします。

  • 同期ステータス: リアルタイムの接続ヘルス
  • 同期済み顧客数: Shopify からの合計コンタクト数
  • 追跡済み注文: 処理された注文イベント
  • カート回復: 放棄カートのパフォーマンス
  • エラー率: 同期失敗回数

ウェブフックログ

ウェブフック配信状況を確認します。

Terminal window
tajo connectors logs shopify --type webhook --last 24h

同期履歴

過去の同期操作を確認します。

Terminal window
tajo connectors history shopify --limit 10

トラブルシューティング

よくある問題

API レート制限

Shopify の API レート制限は 1 秒あたり 2 リクエストです。大規模な履歴インポートにはバッチ同期を使用してください。

問題原因解決策
ウェブフックが受信されないアプリ権限正しいスコープでアプリを再インストール
顧客が同期されないメールアドレス不足Shopify では顧客にメールが必要
商品が見当たらない商品ステータス商品が「active」状態か確認
カートが追跡されないスクリプト未読込theme.liquid のスクリプトを確認

デバッグモード

詳細ログを有効化します。

connectors:
shopify:
debug: true
log_level: verbose
log_webhooks: true

接続テスト

Terminal window
tajo connectors test shopify
# ✓ API connection successful
# ✓ Webhooks registered
# ✓ Products accessible
# ✓ Customers readable
# ✓ Orders readable

ベストプラクティス

  1. テストストアから始める - まず開発用ストアで検証
  2. 初回同期はオフピーク時に実行 - 大規模同期は時間を要する
  3. カスタム属性をマッピングする - 既定のマッピングだけに頼らない
  4. カート追跡を有効化する - カゴ落ち回復には必須
  5. ウェブフックの健全性を監視する - 配信失敗のアラートを設定
  6. バッチインポートを利用する - 10,000 件超の過去データ向け

セキュリティ

  • OAuth 2.0 - 安全なトークンベース認証
  • ウェブフック検証 - HMAC 署名検証
  • 暗号化ストレージ - API 認証情報を保存時に暗号化
  • スコープ限定アクセス - 必要最小限の権限のみ

関連リソース

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

AIアシスタント

こんにちは!ドキュメントについて何でもお聞きください。

Brevoで無料で始める