Shopify コネクター
Shopify コネクター
Shopify ストアを Brevo に接続することで、完全な顧客データ同期、カゴ落ち回復、マーケティングキャンペーンの自動化が可能になります。
概要
| 項目 | 値 |
|---|---|
| プラットフォーム | Shopify |
| カテゴリー | eコマース |
| セットアップ難易度 | 容易 |
| 公式統合 | あり |
| 同期データ | 顧客、注文、商品、カート、イベント |
| 利用可能なスキル | 12 |
機能
- リアルタイム顧客同期 - 顧客データを即座に Brevo コンタクトへ同期
- 注文追跡 - 購入後フロー向けの注文イベント
- 商品カタログ同期 - レコメンデーション用商品の連携
- カゴ落ち - 放棄カートの追跡と回復
- 閲覧行動 - ページ閲覧や商品興味の追跡
- マルチストア対応 - 複数の Shopify ストアを接続
前提条件
開始する前に、以下をご用意ください。
- 管理者権限のある Shopify ストア
- API アクセス付きの Brevo アカウント
- Tajo アカウント
インストール
方法 1: Shopify App Store (推奨)
- Shopify App Store の Tajo アプリ にアクセス
- 「アプリを追加」をクリック
- 要求された権限を付与
- Brevo アカウントを接続
方法 2: 手動インストール
ステップ 1: Shopify アプリを作成する
- Shopify 管理画面 → 設定 → アプリと販売チャネル に移動
- 「アプリを開発」→「アプリを作成」をクリック
- 「Tajo Integration」と命名
ステップ 2: API スコープを設定する
以下のスコープを有効化します。
read_customerswrite_customersread_ordersread_productsread_checkoutswrite_script_tagsステップ 3: アプリをインストールする
# Using Tajo CLItajo 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_abandoned | 30 分間チェックアウトなし | 回復メール |
有効化されるスキル
Shopify コネクターは以下のスキルを有効化します。
| スキル | 説明 |
|---|---|
| 顧客同期 | リアルタイムの顧客同期 |
| 注文イベント | 注文ライフサイクル追跡 |
| カゴ落ち | カート回復メール |
| ウェルカムシリーズ | 新規顧客オンボーディング |
| 購入後フォロー | 注文後のフォローアップ |
| ウィンバック | 休眠顧客の再エンゲージ |
| 閲覧放棄 | 商品興味フォローアップ |
| リピート購入 | 再注文リマインダー |
コード例
コネクターの初期化
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Shopify storeawait tajo.connectors.connect('shopify', { shopUrl: 'your-store.myshopify.com', apiKey: process.env.SHOPIFY_API_KEY, apiSecret: process.env.SHOPIFY_API_SECRET});初回同期の実行
// Full historical syncawait tajo.connectors.sync('shopify', { type: 'full', resources: ['customers', 'orders', 'products'], since: '2023-01-01'});
// Check sync statusconst 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 manuallyapp.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 からの合計コンタクト数
- 追跡済み注文: 処理された注文イベント
- カート回復: 放棄カートのパフォーマンス
- エラー率: 同期失敗回数
ウェブフックログ
ウェブフック配信状況を確認します。
tajo connectors logs shopify --type webhook --last 24h同期履歴
過去の同期操作を確認します。
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接続テスト
tajo connectors test shopify# ✓ API connection successful# ✓ Webhooks registered# ✓ Products accessible# ✓ Customers readable# ✓ Orders readableベストプラクティス
- テストストアから始める - まず開発用ストアで検証
- 初回同期はオフピーク時に実行 - 大規模同期は時間を要する
- カスタム属性をマッピングする - 既定のマッピングだけに頼らない
- カート追跡を有効化する - カゴ落ち回復には必須
- ウェブフックの健全性を監視する - 配信失敗のアラートを設定
- バッチインポートを利用する - 10,000 件超の過去データ向け
セキュリティ
- OAuth 2.0 - 安全なトークンベース認証
- ウェブフック検証 - HMAC 署名検証
- 暗号化ストレージ - API 認証情報を保存時に暗号化
- スコープ限定アクセス - 必要最小限の権限のみ