Mailchimp

Mailchimpメール配信サービスとの統合を提供し、Drupal内からオーディエンス管理、購読フォーム、キャンペーン作成、行動イベントトラッキングを可能にします。

mailchimp
26,888 sites
65
drupal.org

インストール

Drupal 11 v3.1.3
composer require 'drupal/mailchimp:^3.1'
Drupal 10, 9, 8 v2.2.8
composer require 'drupal/mailchimp:^2.2'

概要

Mailchimpモジュールは、Mailchimpメール配信サービスとの包括的な統合を提供します。自前のサーバーからメールを送信するツールは存在しますが、Mailchimpのような専用メールプロバイダーの洗練さと使いやすさには及びません。

コアモジュールは基本的な設定とAPI統合を提供し、機能とサイト機能性はサブモジュール群によって提供されます。これらのサブモジュールにより、匿名登録フォーム、Entityベースのオーディエンス購読、キャンペーンの作成と送信、マーケティングオートメーション用の行動イベントトラッキングが可能になります。

主な機能には、OAuth認証(推奨)またはAPIキー認証(非推奨)、無制限のオーディエンスサポート、マージフィールドマッピング、インタレストグループ、Connected Sites統合、リアルタイム同期用のWebhook処理、購読操作用のcronベースのバッチ処理が含まれます。

Features

  • OAuth認証(推奨)またはAPIキー(非推奨)を使用したMailchimpとのAPI統合
  • 無制限のMailchimpオーディエンス(メーリングリスト)をサポート
  • 任意のオーディエンスの組み合わせに対してBlockまたはスタンドアロンページとして表示される匿名登録フォーム
  • カスタムFieldタイプによるEntityベースのオーディエンス購読。購読ルールがEntityの権限とコントロールに従うことを可能にします
  • UsersにMailchimp SubscriptionFieldを追加することで、登録時のユーザー購読が可能
  • DrupalのEntityFieldの値をMailchimpのマージフィールドにマッピング
  • マージフィールドとインタレストグループをサポートするスタンドアロンの購読・購読解除フォーム
  • cronバッチ処理またはリアルタイム更新による購読管理
  • Entityコンテンツを使用してDrupalから直接Mailchimpキャンペーンを作成・送信
  • Mailchimpの自動キャンペーン用の行動イベントトラッキング
  • Mailchimpからの購読変更をリアルタイムで同期するWebhook統合
  • Mailchimp JavaScriptとポップアップフォームを埋め込むためのConnected Sites統合
  • 登録フォーム用のGDPR同意チェックボックスサポート
  • オートメーションワークフロー用のECA(Entity Control Actions)モジュールとの統合
  • フォーム送信時にMailchimpイベントをトリガーするWebformハンドラー

Use Cases

ウェブサイト訪問者向けニュースレター購読

Mailchimp Signupサブモジュールを使用して匿名登録フォームを作成します。サイドバーやフッターにBlockとしてフォームを表示したり、/newsletterのようなスタンドアロンページとして表示できます。マージフィールドを設定して名前や好みなどの追加情報を収集し、興味グループを有効にして購読者がコンテンツカテゴリを選択できるようにします。コンプライアンスのためにGDPR同意チェックボックスを使用してください。

オーディエンス購読付きユーザー登録

Mailchimp AudiencesサブモジュールでUser EntityタイプにMailchimp Subscription Fieldを追加します。ユーザーは登録時に購読したり、プロフィールから購読を管理できます。ユーザープロフィールField(名前、場所など)をMailchimpマージフィールドにマッピングして、パーソナライズされたメールコンテンツを実現します。

ロールベースの自動購読

RulesまたはECA統合を使用して、ロールに基づいてユーザーを特定のオーディエンスに自動購読させます。Usersに非表示のMailchimp Subscription Fieldを作成し、特定のロールが割り当てられたときにメンバーを購読させる自動化ルールを設定します(例:プレミアムロール用のPremium Membersオーディエンス)。

Drupalコンテンツを使用したメールキャンペーン

Mailchimp Campaignサブモジュールを使用して、Drupalコンテンツを含むメールキャンペーンを作成します。Entity インポート機能を使用して、記事、製品、またはタイトルを持つ任意のEntityをキャンペーンテンプレートにインポートします。特定のView Modeを選択して、メールでのコンテンツの表示方法を制御します。

Eコマース向け行動ターゲティング

Mailchimp EventsサブモジュールをWebform統合と組み合わせて使用し、ユーザー行動を追跡します。Mailchimpで自動メールシーケンスをトリガーする「completed_purchase」や「abandoned_cart」などのイベントを作成します。パーソナライズされたフォローアップメールのために、注文詳細や製品情報をイベントプロパティとして渡します。

リアルタイム購読同期

DrupalをMailchimpと同期させるためにWebhookを設定します。ユーザーがMailchimpで直接購読解除やプロフィール更新を行った場合(例:メール設定リンク経由)、WebhookがDrupalのキャッシュされた購読データを更新し、正確な購読ステータス表示を保証します。

複数オーディエンス購読フォーム

複数のオーディエンスに同時に購読できる登録フォームを作成します。異なるニュースレタータイプ(例:ニュース、イベント、プロモーション)を持つ組織で、訪問者が受け取りたいコミュニケーションを選択できる場合に便利です。

ポップアップフォーム付きConnected Sites

Connected Sitesを有効にして、特定のページにMailchimpのJavaScriptを埋め込みます。これにより、Mailchimpでデザインし、ユーザー行動(ページ滞在時間、スクロール深度、離脱意図)に基づいてトリガーできるMailchimpのポップアップ購読フォームを使用できます。

Tips

  • APIキーではなくOAuth認証を使用してください - APIキー認証は非推奨であり、OAuthの方がセキュリティが向上します
  • ユーザーがMailchimpで直接購読を変更した場合にDrupalを同期させるためにWebhookを設定してください
  • 多くの購読者がいるサイトではタイムアウト問題を避けるためにバッチ処理を使用してください。ただし、変更はcron実行まで反映されないことに注意してください
  • Connected Sites機能を使用すると、Drupalフォーム設定なしでMailchimpのポップアップフォームを使用できます
  • キャンペーン作成時は、保存前に「Preview content」ボタンでEntityトークンが正しくレンダリングされることを確認してください
  • 興味グループはタグよりも詳細な購読者設定を提供します - 購読者向けの選択肢にはグループを、内部整理にはタグを使用してください
  • ダブルオプトイン設定はリスト品質の維持に役立ち、有効なメールアドレスを確認することで配信性を向上させることができます
  • Entity FieldをマージフィールドにマッピングしてMailchimpキャンペーンで*|FNAME|*などのマージタグを使用したパーソナライゼーションを可能にしてください
  • Mailchimp Eventsのデバッグには、mailchimp_events_exampleサブモジュールを有効にしてイベントの作成と取得を手動でテストしてください

Technical Details

Admin Pages 9
Mailchimp グローバル設定 /admin/config/services/mailchimp

認証方法、APIタイムアウト、Connected Sites、バッチ処理、Webhook設定を含むMailchimpのグローバル設定を行います。

Mailchimp OAuth設定 /admin/config/services/mailchimp/oauth

MailchimpとのOAuth認証を設定・完了します。これは推奨される認証方法です。

Mailchimp Audience /admin/config/services/mailchimp/lists

Drupalサイトと同期されたMailchimp Audienceを表示・管理します。各AudienceのWebhook設定を行います。

Mailchimp Audienceキャッシュのリセット /admin/config/services/mailchimp/list_cache_clear

キャッシュされたAudienceデータをクリアして、Mailchimpから情報を更新します。

Mailchimp Subscriptionフィールド /admin/config/services/mailchimp/fields

Drupalサイトのエンティティタイプ全体で設定されているMailchimp Subscriptionフィールドをすべて表示します。Merge Variableのバッチ更新機能を提供します。

Mailchimp登録フォーム /admin/config/services/mailchimp/signup

Mailchimp Audience向けの匿名登録フォームを作成・管理します。フォームはBlockまたはスタンドアロンページとして表示できます。

登録フォームを追加 /admin/config/services/mailchimp/signup/add

表示モード、Audience選択、mergeフィールド、インタレストグループ、GDPR設定を設定可能な新しいMailchimp登録フォームを作成します。

Mailchimpキャンペーン /admin/config/services/mailchimp/campaigns

Drupalから直接Mailchimpメールキャンペーンを作成、表示、編集、送信、管理します。

Mailchimpキャンペーンを追加 /admin/config/services/mailchimp/campaigns/add

Audience選択、テンプレート設定、DrupalのEntityコンテンツインポートを備えた新しいMailchimpキャンペーンを作成します。

権限 4
mailchimpの管理

mailchimpの設定オプションにアクセスします。アクセス制限あり。

Mailchimp Signup Entityの管理

mailchimp signupの設定オプションにアクセスします。アクセス制限あり。

すべてのMailchimp Signupページへのアクセス

サインアップフォームページへのアクセスを許可します。Signup Blockには影響しません。

Mailchimpキャンペーンの管理

Mailchimpキャンペーンを作成・送信します。アクセス制限あり。

Hooks 7
hook_mailchimp_subscribe_success

オーディエンスへの購読が成功した際にアクションを実行します。

hook_mailchimp_unsubscribe_success

オーディエンスからの購読解除が成功した際にアクションを実行します。

hook_mailchimp_process_webhook

Mailchimp webhookの発火時にアクションを実行します。購読解除やプロフィール更新などのイベントでMailchimpがwebhook通知を送信した際に呼び出されます。

hook_mailchimp_lists_mergevars_alter

購読または更新操作時にMailchimpに送信される前のmergevarsを変更します。

hook_mailchimp_lists_interest_groups_alter

Mailchimpに送信される前のインタレストグループを変更します。

hook_mailchimp_campaign_alter

Mailchimpへの保存前にキャンペーンの受信者とテンプレートを変更します。

hook_mailchimp_campaign_content_alter

送信前にキャンペーンテンプレートとフィルタリングされたコンテンツを変更します。

Troubleshooting 8
キャンペーン、オーディエンス、またはテンプレートがMailchimpから更新されない

Drupalキャッシュをクリアしてページをリロードしてください。モジュールはパフォーマンス向上のためにMailchimpデータをキャッシュしています。設定ページの「Refresh Audiences」ボタンやキャンペーンフォームの「Refresh current template」ボタンも使用できます。

キャンペーンを編集できない

キャンペーンが既に送信済みかどうか確認してください。送信済みキャンペーンはMailchimpでもDrupalでも編集できません。

ローカル開発環境でWebhookが動作しない

Mailchimp Webhookには公開アクセス可能なURLが必要です。Mailchimpシステムはローカル開発環境に到達できません。Webhook テストにはngrokなどのトンネリングサービスを使用してローカルサイトを公開してください。

OAuth認証ポップアップがブロックされる

ブラウザでサイトのポップアップを有効にしてください。OAuth認証フローはMailchimpログイン用の新しいウィンドウを開きます。ブロックされると、認証が不完全な状態になる場合があります。

購読変更がすぐに反映されない

バッチ処理が有効な場合、購読変更はcron処理のためにキューに入れられます。変更は次のcron実行後に反映されます。即時更新が必要な場合は、設定でバッチ処理を無効にするか、cronを手動で実行してください。

Subscription Field設定時に利用可能なオーディエンスがない

Mailchimpアカウントで少なくとも1つのオーディエンスを作成していることを確認してください。「Reset Mailchimp Audience Cache」ページでオーディエンスキャッシュをクリアしてください。また、各Mailchimpオーディエンスは1つのSubscription Fieldにのみ割り当て可能です - オーディエンスが既に使用中の場合、他のFieldのオプションとして表示されません。

マージフィールドデータがMailchimpに同期されない

Subscription Field設定でEntity FieldがMailchimpマージフィールドに正しくマッピングされていることを確認してください。複数値Fieldは最初の値のみ同期されます。必須マージフィールドは必須または計算済みのEntity Fieldにマッピングする必要があります。

テンプレートに「編集可能なコンテンツエリアがありません」と表示される

適切に定義された編集可能コンテンツエリアを持つカスタムHTMLテンプレートのみが完全にサポートされています。ドラッグアンドドロップテンプレートはDrupalから編集できません。Mailchimpでmc:editリージョンを持つカスタムHTMLテンプレートを作成してください。

Security Notes 6
  • 「administer mailchimp」権限はAPI認証情報へのアクセスを許可するため、信頼できる管理者にのみ付与してください
  • Webhookエンドポイントはハッシュベースの検証を使用します - Webhookハッシュを秘密に保ち、漏洩した場合は変更してください
  • OAuthトークンはDrupalのstateシステムに保存されます - データベースとstate APIへの適切なアクセス制御を確保してください
  • APIキー(使用する場合)はログやエラーメッセージに公開しないでください - モジュールはUIでそれらを隠蔽します
  • GDPR同意チェックボックス機能はコンプライアンスに役立ちますが、組織は全体的なプライバシー慣行が要件を満たしていることを確認する必要があります
  • Connected Sites JavaScriptは指定されたパスで実行されます - セキュリティとパフォーマンスのため、どのページに外部スクリプトを含めるか注意してください