C#でRCSとSendGridを活用したプロモーションキャンペーンを作成する方法
Time to read:
- RCSとSendGridを組み合わせることで、チャネルの境界を超えた一貫性のあるマーケティングキャンペーンを展開できます。
- インタラクティブなメッセージにはRCSを、メールの自動送信にはSendGridを、それぞれ設定します。
- これら2つのチャネルを.NETアプリケーションに組み込むことで、一貫性のあるメッセージ配信を実現できます。
この要約は、AIにより生成されました。
C#でRCSとSendGridを活用したプロモーションキャンペーンを作成する方法
2026年、顧客の関心を獲得し、それを維持し続けることは、かつてないほど難しくなっています。現代のプロモーションキャンペーンは、単にSMSやメールを送信して終わりではありません。それは、多様なチャネルが巧みに連携し合う「綿密に構成されたダンス」のようなものです。SMSもメールも、それぞれがマーケティング施策を広めるための重要な手段です。より大きなインパクトを生み出すには、メールテンプレートとRCSリソースを効果的に組み合わせ、ブランド全体で一貫した世界観を演出することが大切です。
この短いチュートリアルでは、Twilio SendGridとRCSを.NET 10と組み合わせ、一貫性のあるマーケティングキャンペーンを構築する方法を解説します。RCSを使用したアプローチと同じスタイルのメール配信を実装し、効果的に顧客へアプローチする手法を身に付けることができます。さぁ、始めましょう。
RCSとは?
RCSカードは、リッチメディアやインタラクティブな要素を組み込めるメッセージです。RCSは、ブランド名と認証済みの送信者ID、タイトル、画像、インタラクティブなコンテンツなどの機能をサポートすることで、従来のSMSを強化し、消費者にとってより魅力的でインタラクティブなメッセージ体験を提供します。
RCSを使用したことがない方は、事前にメッセージングチャネルのRCSとSMSの違いについて解説した記事をご覧ください。
SendGridとは?
SendGridは、Twilioが提供するメール配信プラットフォームです。SendGridを活用することで、効果的なメールマーケティングキャンペーンを簡単に設計、自動化、配信することができます。シンプルなトリガーによる自動配信はもちろん、ドラッグ&ドロップ形式のテンプレートエディタを使って簡単に直感的なマーケティングメールを作成できます。
これらの2つのサービスは、クロスチャネルマーケティングキャンペーンにおいて、相互に連携して効果的に機能します:
- RCS(リッチコミュニケーションサービス): RCSは、SMSの機能を拡張したものです。高解像度のカルーセル表示、「返信候補」ボタン、信頼性を高める認証済み送信者ブランディングなどを実現でき、即座にクリックを促したい場面に最適です。
- SendGrid: 一方で、長文のストーリーをじっくり伝えるにはメールが適しています。RCSの写真で興味を惹きつけた後は、メールを通じてカタログの全ラインナップやブランドの想い(「当社について」といったストーリー)を届けます。
RCS/SendGridキャンペーンの作成
まず、以下を準備してください。
- Twilioアカウント(サインアップはこちら)
- SendGridアカウント(同一のTwilioアカウントを使用可能)
- RCSサービスが利用できない場合のSMS送信用のTwilio電話番号
- RCSメッセージを受信できるデバイス
- 開発マシンにインストール済みの.NETフレームワーク
RCS送信者のセットアップ
このチュートリアルは、「How to Send an RCS Message with C# .NET and Twilio」(TwilioとC# .NETを用いたRCSメッセージの送信方法)をベースにしています。そのチュートリアルでは、RCS送信者のセットアップ手順について、スクリーンショットを使って詳しく解説しています。このチュートリアルを進める前に、画面例に従ってTwilio RCSダッシュボードでRCS送信者をセットアップしてください。事前準備として、RCS送信者用のロゴ画像とテスト用デバイスを用意してください。チュートリアル後半のテストまで続けられるよう、デバイスをRCSテスターとしてセットアップしておきましょう。
SendGridダイナミックテンプレートの設定
RCSのデザインに合わせて、SendGridでダイナミックテンプレートを作成します。SendGridダッシュボードにログインし、メニューの[Email API]>[Dynamic Templates](ダイナミックテンプレート)に移動します。識別しやすいテンプレート名を入力したら、[Create](作成)をクリックします。ここでの目的は、RCSメッセージとSendGridメールの双方が持つデザイン構造を、プログラム側から一貫して呼び出して利用できるように、ダイナミックテンプレートを構築することです。[Create a Dynamic Template](ダイナミックテンプレートの作成)というボタンをクリックしてください。テンプレートに覚えやすい名前を設定したら、次のステップへ進みます。
テンプレートの作成が完了したら、テンプレート名の横にある矢印アイコンをクリックして詳細パネルを開きます。ここに、テンプレートIDが表示されます。このID番号は後ほどメール送信アプリケーションで使用しますので、控えておきます。
続いて、メールデザインを構築するため、[Add Version](バージョンの追加)を選択します。次に、[Blank Template](空白のテンプレート)を選択します。テンプレートの作成方法は、コード編集、またはドラッグ&ドロップのいずれかを選択できます。このチュートリアルでは、ドラッグ&ドロップエディターとHandlebarsテンプレート機能を組み合わせることで、ダイナミックテンプレートを作成します。
[Design](デザイン)を選択すると、メールテンプレートが開きます。メールのSubject(件名)に{{subject}}と入力して、プレースホルダーをプログラムで生成する動的な値に置き換えます。同様に、Preheader(プリヘッダー)には{{preheader}}を選択します。
プレースホルダーと任意のカスタムテキストを組み合わせてテンプレートの本文を作成します。画像を追加する場合は、Imageモジュールを配置し、選択してその画像のHTMLを編集します。画像のURLを、図のように変数{{image_url}}に置き換えます。
このチュートリアルでは、必要に応じてボタンを追加するオプションもあります。ボタンのエレメントをメールテンプレート内にドラッグ&ドロップし、ボタンのテキストとして{{button_text}}、ボタンのURLとして{{button_url}}と入力します。
設定が完了すると、SendGridテンプレートは以下のような表示になります。
テンプレートを保存します。
RCSとSendGrid用の.NETアプリケーション
.NETアプリケーションでこれら2つの要素を連携させることで、メールとRCSの同時送信を実現します。
IDEを開き、新しい.NET Web APIアプリケーションを作成することから始めます。
プロジェクトには、以下のNuGetパッケージが必要となります:
このプロジェクトでは、複数の環境変数を使用します。このチュートリアルでは、これらの変数がファイル「appsettings.json」に追加されます。このファイルをプロジェクトフォルダに作成します。以下の行を追加し、各プレースホルダーを実際の環境やアプリケーションに合わせた設定値に置き換えてください。
TwilioアカウントSIDと認証トークンは、Twilioダッシュボードにあります。送信元番号は、RCSの送信者の番号です。また、SendGridを利用してメールを送信するには、予めメール送信権限を付与したSendGrid APIキーを作成しておく必要があります。カスタムキーを作成する場合は、メール送信権限があることを確認してください。ダイナミックテンプレートIDを取得するには、SendGridダッシュボードに移動し、作成したテンプレートからIDを取得します。FromEmailは検証済みの送信者のメールアドレスで、FromNameは人間が読み取れる任意の値に設定できます。Recipients(受信者)には、テストに使用する電話番号とメールアドレスを追加します。
これで、プロジェクトにコードを追加する準備ができました。
最初のステップは、RCSとメールが使用するモデルを作成することです。
本格的なアプリケーション構成では、モデルを専用のフォルダに配置しますが、今回はデモなので、必要なモデルをまとめて管理する簡易的なファイルを作成します。
ファイル「Models.cs」を作成し、このコードを追加します:
モデルファイルを保存します。
次に、プロジェクトのプログラムロジックに注目します。「Program.cs」ファイルを開き、既存のコードを以下のコードに置き換えます:
まず、先ほど作成した「appsettings.json」ファイルからAPIキーなどのセキュリティ情報を取得します。コメントアウトされているコード行を追加することで、代わりに環境変数を使用するよう変更することも可能です。これらの値をすべて収集すると、アプリケーションはそのモデルをもとにMessageServiceを生成します。
ここで、以下のコードブロックを追加します:
これは、RCSメッセージを作成するブロックです。テスト用URLを、送信したい画像のURLに置き換えるか、Twilioのロゴ画像を使用する場合はそのままにしてください。
続いて、「Program.cs」に以下のコードブロックを追加します:
ここでは、実際にRCSメッセージとメールを送信する処理を行っています。このコードでは両方のコンテンツを取得し、メールの動的テンプレートとRCSへそれぞれ配信します。
最後に、「Program.cs」に以下のブロックを追加します:
このコードでは、先ほどRCSとメール用に設定したダイナミックテンプレートのプレースホルダーを取得し、値を割り当てています。すべてが正しく設定されていれば、アプリケーションを実行できます。
アプリケーションは、メールとRCSメッセージの両方を送信します。メールのフォーマットは先ほど設定したダイナミックテンプレートと同様で、RCSメッセージにも同じ情報と画像が適用されます。
トラブルシューティング
アプリケーションでエラーや問題が発生した場合は、以下の項目を確認してください。
まず、ユーザーアカウントでRCS送信が許可されていること、およびお使いのデバイスでRCSが受信可能であることを確認してください。その際、受信デバイスを「RCSテスター」として設定しておく必要があります。RCSの一括送信を行う場合、国や地域によっては事前の審査や認証が必要になりますので、ご注意ください。
また、画像が正しくレンダリングされない場合は、画像のURLが公開URLであることを確認してください。サポートされているカード機能については、TwilioCardコンテンツテンプレートのドキュメントをご覧ください。
SendGridのメールが送信されない場合は、SendGridダッシュボードを確認してください。送信者または送信者DNSを検証する必要があります。メールログを確認し、配信ステータスやエラーコードの有無をチェックしてください。
メールが想定どおりに表示されない場合は、テンプレート自体で調整を行います。SendGridでDesign Editorを使用する際のヒントをご覧ください。
次のステップ
このチュートリアルでは、統合キャンペーンの一環として連携するRCSメッセージとSendGridメールの作成方法を学びました。このアプリケーションの今後のアップデートで、メールとRCSのデザインをカスタマイズするためのテンプレートが追加される可能性があります。もう一つの改善策として、キャンペーンの配信タイミングをずらす方法が考えられます。メールとRCSを同時に送信するのではなく、ユーザーがRCSに反応しなかった場合にのみメールを配信する形です。これにより、ユーザーの反応が良いプロモーションスタイルを検証するA/Bテストの際、メールの重複送信を防ぐことができます。
RCSで実現できるその他の機能については、以下のTwilioの記事をご覧ください。
ともに、コミュニケーションの未来を構築しましょう。
Amanda Langeは、テクニカルコンテンツ専門の.NETエンジニア。C#や.NETプログラミングを活用した、画期的な開発手法を発信します。お問い合わせは、amlange [ at] twilio.comまでお願いします。