Mailchimp コネクター

Mailchimp アカウントを Tajo 経由で Brevo に接続して、オーディエンス移行、キャンペーンデータ同期、両プラットフォームにまたがる統一されたマーケティングオートメーションをシームレスに実現します。

概要

項目
プラットフォームMailchimp
カテゴリーマーケティング
セットアップ難易度容易
公式統合あり
同期データコンタクト、キャンペーン、自動化、イベント
API ベース URLhttps://{dc}.api.mailchimp.com/3.0

機能

  • オーディエンス同期 - Mailchimp オーディエンスを Brevo コンタクトリストに移行・同期
  • キャンペーンデータ - キャンペーンパフォーマンスデータを統一レポート向けに同期
  • 自動化移行 - Mailchimp 自動化を Brevo ワークフローにマッピング
  • エンゲージメントメトリクス - 開封、クリック、バウンスデータを Brevo 属性に同期
  • セグメントマッピング - Mailchimp セグメントを Brevo リストまたはセグメントとして複製
  • eコマースデータ - Mailchimp eコマースのストア、商品、注文データを同期
  • タグ同期 - Mailchimp タグを Brevo コンタクト属性またはリストにマッピング
  • テンプレート移行 - Brevo キャンペーン用に Mailchimp テンプレートをエクスポート

前提条件

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

  1. Mailchimp アカウント (Free、Essentials、Standard、Premium)
  2. Mailchimp API キーまたは OAuth アプリ
  3. API アクセス付きの Brevo アカウント
  4. Tajo アカウント

認証

API キー認証

Mailchimp Account > Extras > API Keys から API キーを生成します。

Terminal window
curl https://{dc}.api.mailchimp.com/3.0/ping \
--user "anystring:{api_key}" \
-H "Content-Type: application/json"

{dc} データセンタープレフィクスは API キーの末尾部分 (例: us21) です。

OAuth 2.0

マルチアカウント統合向け:

Terminal window
# Authorization URL
https://login.mailchimp.com/oauth2/authorize?
response_type=code&
client_id={client_id}&
redirect_uri={redirect_uri}
# Token exchange
curl -X POST https://login.mailchimp.com/oauth2/token \
-d "grant_type=authorization_code" \
-d "client_id={client_id}" \
-d "client_secret={client_secret}" \
-d "redirect_uri={redirect_uri}" \
-d "code={auth_code}"

データセンター

データセンターは常に API キーまたは OAuth メタデータエンドポイントから取得してください。誤ったデータセンターを使用すると認証に失敗します。

設定

基本セットアップ

connectors:
mailchimp:
enabled: true
api_key: "${MAILCHIMP_API_KEY}"
data_center: "us21"
# Data sync options
sync:
audiences: true
campaigns: true
automations: true
ecommerce: true
# Audience to Brevo list mapping
audience_mapping:
"Main Audience": 40
"Newsletter": 41
"Customers": 42

フィールドマッピング

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

既定のマッピング

Parameter Type Description
email_address required
string

購読者メール (一意の識別子)

FNAME optional
string

名のマージフィールド、FIRSTNAME にマッピング

LNAME optional
string

姓のマージフィールド、LASTNAME にマッピング

PHONE optional
string

電話マージフィールド、SMS にマッピング

status optional
string

購読ステータス (subscribed、unsubscribed、cleaned、pending)

tags optional
array

セグメンテーション用の購読者タグ

stats.avg_open_rate optional
number

平均メール開封率

stats.avg_click_rate optional
number

平均メールクリック率

カスタムマージフィールドマッピング

field_mapping:
# Standard fields
email_address: email
FNAME: FIRSTNAME
LNAME: LASTNAME
PHONE: SMS
# Engagement metrics
stats.avg_open_rate: AVG_OPEN_RATE
stats.avg_click_rate: AVG_CLICK_RATE
member_rating: ENGAGEMENT_SCORE
# E-commerce fields
ecommerce_data.total_revenue: TOTAL_REVENUE
ecommerce_data.number_of_orders: ORDER_COUNT
# Custom merge fields
MMERGE5: COMPANY_NAME
MMERGE6: CUSTOMER_TYPE

API エンドポイント

オーディエンス (リスト)

メソッドエンドポイント説明
GET/3.0/listsすべてのオーディエンス一覧
GET/3.0/lists/{list_id}オーディエンス詳細を取得
GET/3.0/lists/{list_id}/membersオーディエンスメンバー一覧
POST/3.0/lists/{list_id}/membersメンバーを追加
PUT/3.0/lists/{list_id}/members/{hash}メンバーを更新
POST/3.0/lists/{list_id}一括購読/解除

キャンペーン

メソッドエンドポイント説明
GET/3.0/campaignsキャンペーン一覧
GET/3.0/campaigns/{id}キャンペーン詳細を取得
GET/3.0/reports/{id}キャンペーンレポート取得
GET/3.0/reports/{id}/email-activityメールアクティビティ取得

自動化

メソッドエンドポイント説明
GET/3.0/automations自動化一覧
GET/3.0/automations/{id}自動化詳細を取得
GET/3.0/automations/{id}/emails自動化メール一覧

eコマース

メソッドエンドポイント説明
GET/3.0/ecommerce/stores接続済みストア一覧
GET/3.0/ecommerce/stores/{id}/customersストア顧客一覧
GET/3.0/ecommerce/stores/{id}/ordersストア注文一覧
GET/3.0/ecommerce/stores/{id}/productsストア商品一覧

イベント

キャンペーンイベント

イベントトリガー用途
campaign.sentキャンペーン配信パフォーマンス追跡
campaign.openedメール開封エンゲージメントスコアリング
campaign.clickedリンククリック関心追跡
campaign.bouncedメール不達リスト衛生

購読者イベント

イベントトリガー用途
subscribe新規購読者追加ウェルカムフロー
unsubscribe購読解除嗜好管理
profileプロフィール更新属性同期
cleanedメール除去 (不達)リスト整備

eコマースイベント

イベントトリガー用途
ecommerce.order注文確定購入後フロー
ecommerce.cartカート更新カゴ落ち回復

コード例

コネクターの初期化

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Connect Mailchimp
await tajo.connectors.connect('mailchimp', {
apiKey: process.env.MAILCHIMP_API_KEY
});

オーディエンスの Brevo への移行

// Full audience migration from Mailchimp to Brevo
await tajo.connectors.sync('mailchimp', {
type: 'full',
resources: ['audiences', 'campaigns', 'ecommerce'],
options: {
preserveTags: true,
migrateSegments: true,
includeUnsubscribed: false
}
});
// Check migration status
const status = await tajo.connectors.status('mailchimp');
console.log(status);
// {
// connected: true,
// lastSync: '2024-01-15T10:30:00Z',
// contactsMigrated: 52000,
// campaignsSynced: 245,
// segmentsMapped: 18
// }

キャンペーンエンゲージメントデータの同期

// Sync campaign performance to Brevo attributes
await tajo.connectors.sync('mailchimp', {
type: 'incremental',
resources: ['campaigns'],
options: {
syncEngagement: true,
updateContactMetrics: true,
since: '2024-01-01'
}
});

レート制限

Mailchimp Marketing API のレート制限:

種類制限詳細
標準同時 10 リクエストAPI キーごと
バッチ操作バッチあたり 500 操作リクエストごと
エクスポート制限同時 1 エクスポートアカウントごと
トランザクショナル25 リクエスト/秒API キーごと

レート制限戦略

Mailchimp は秒間リクエスト数ではなく同時接続数を制限します。バッチエンドポイントを使用し、429 レスポンス時には指数バックオフによるリトライロジックを実装してください。

トラブルシューティング

よくある問題

問題原因解決策
401 UnauthorizedAPI キー無効またはデータセンター誤りAPI キーを確認し正しい dc プレフィクスを抽出
メンバー既存オーディエンスに既にメールあり既存メンバー更新には POST ではなく PUT を使用
コンプライアンス状態GDPR 削除により再追加不可コンタクトはサインアップフォームから再購読が必要
バッチタイムアウト大規模バッチ操作500 操作単位の小さなバッチに分割
マージフィールド欠落カスタムフィールド未作成マッピング前に Mailchimp でマージフィールドを作成

デバッグモード

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

connectors:
mailchimp:
debug: true
log_level: verbose
log_api_calls: true

接続テスト

Terminal window
tajo connectors test mailchimp
# ✓ API connection successful
# ✓ Audiences readable
# ✓ Campaigns readable
# ✓ E-commerce data accessible
# ✓ Webhook configured

ベストプラクティス

  1. バッチ操作を使用 - 一括更新には batch subscribe/unsubscribe を活用
  2. 購読ステータスを維持 - 移行時に購読同意を尊重
  3. マージフィールドを先にマッピング - 同期前に対応する Brevo 属性を作成
  4. エンゲージメントデータを同期 - 履歴セグメンテーション向けに開封/クリック率をインポート
  5. コンプライアンス状態を扱う - GDPR や永久削除状態を尊重
  6. 増分同期を使用 - 前回同期以降の変更のみを同期して API 使用量を削減

セキュリティ

  • API キー認証 - HTTP Basic 認証のパスワードとしてシークレットキーを渡す
  • OAuth 2.0 - マルチアカウントアクセス向けのトークンベース認可
  • TLS 暗号化 - すべての API 通信を HTTPS で暗号化
  • ウェブフック検証 - 共有シークレットでウェブフック送信元を検証
  • データセンター分離 - リージョン固有のデータセンターにデータを保存

関連リソース

Subscribe to updates

developer-docs

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

auto-detect
AIアシスタント

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