マルケトからLINEメッセージを送信できるようにする設定|Marketo(マルケト)の運用

この記事はMAツールであるAdobe(アドビ)のMarketo Engage(マルケト エンゲージ)の運用における配信設計について、備忘録の意味もこめて作成しております。

マルケトを使用してLINEへのメッセージ配信をおこなうときの設定手順を明記しています。
2023年7月設定、2024年8月時点で動作確認済みとなります。

事前作業:LINE側での設定

マルケトの設定の前に、LINE developersでアカウントを開設、下記2つのチャネルを設定しておきます。

MessageAPI設定

チャネルを開設し、Webhook送信を利用するにしておきます。
※LINE Developersサイト:https://developers.line.biz/ja/

LINEログイン設定

チャネルを開設し、コールバックURLにマルケトで作成する連携用メールフォームのURLを記入しておきます。

LINE側の取得場所メモする内容
LINEログインチャネルチャネルシークレット(チャネル基本設定に記載)
Message APIチャネルチャネルID (チャネル基本設定に記載)
Message APIチャネルチャネルアクセストークン(長期)(Messaging API設定に記載)
※マルケトのウェブフックの設定時に使用します

マルケトの設定①カスタムフィールドを作る

LINEへのメッセージ送信のために、まずはマルケトに専用のフィールドを作成します。
作成するフィールドは下記となります。なお、フィールド名は任意となります。

フィールド名タイプ
LINE_CODE文字列
LINE_STATE文字列
LINE_ERROR整数
LINE_ERROR_CODE整数
LINE_ERROR_MESSAGE文字列
LINE_ACCESS_TOKEN文字列
LINE_DISPLAY_NAME文字列
LINE_USER_ID文字列
LINE_STATUS_MESSAGE文字列
LINE_COMMENT文字列

マルケトの設定②フォームを作成してランディングページを作る

メールアドレスを取得用のフォームを作成し、そのフォームを設置したランディングページを作成します。LINEアカウント情報を別途取得している場合は不要です。

フォームの設定

下記のようにメールアドレスのフィールドとそれ以外の5つのフィールドをセットします。メールアドレス以外は非表設定にしておき、自動入力でそれぞれ値の取得先とパラメーター名を下記表のようにセットしていきます。

ラベル名値の取得先パラメーター名
LINE_CODEURLパラメーターcode
LINE_STATEURLパラメーターstate
LINE_ERRORURLパラメーターError
LINE_ERROR_CODEURLパラメーターerrorCode
LINE_ERROR_MESSAGEURLパラメーターerrorMessage
※デフォルト値は空欄

フォームが作成出来たらランディングページを作成し埋め込んでおきます。
なお、ランディングページのURLは次の設定③で使用します。予めURLエンコードを実施しメモにのこしておくとスムーズです。

マルケトの設定③LINE Access Tokenを取得し、Webhookを設定する

LINEとつなげるためのウェブフック(Webhook)を作成します。
マルケトの管理画面で「管理」→「統合」→「ウェブフック」へ移動します。

新規作成する場合は上部にある「新規ウェブフック」をクリックします。
設定概要は下記表に明記いたします。

項目入力内容
ウェブフック名自由に設定
詳細自由に設定(空欄でも可)
URLhttps://api.line.me/oauth2/v2.1/token
リクエストタイプPOST
テンプレートgrant_type=authorization_code&code={{lead.LINE_CODE}}&client_id=★チャネルシークレット★&client_secret=●Message APIチャネルID●&redirect_uri=■ランディングページURL■

これまでにメモした下記内容を差し替えてください
★チャネルシークレット★:LINEログインチャネルのチャネルシークレット
●Message APIチャネルID●:Message APIチャネルID
■ランディングページURL■:ランディングページのURLをurlencodeしたもの
エンコードなし
応答タイプJSON

上記を入力し作成を押すと詳細に設定内容が反映されます。
その後、詳細下部の「カスタムヘッダー」と「応答マッピング」の設定をおこないます。

カスタムヘッダーの入力

ヘッダ
Content-Typeapplication/x-www-form-urlencoded

応答マッピングの入力

応答属性マルケトフィールド
access_tokenformFieldNames.lINE_ACCESS_TOKEN

マルケトの設定④LINE User ID取得Webhook

新規ウェブフックをクリックし新しいウェブフック作成画面を立ち上げます。
入力する内容は下記の通りです。

項目入力内容
ウェブフック名自由に設定
詳細自由に設定(空欄でも可)
URLhttps://api.line.me/v2/profile
リクエストタイプGET
テンプレート– –
エンコード– –
応答タイプJSON

カスタムヘッダ―

ヘッダ
AuthorizationBearer {{lead.LINE_ACCESS_TOKEN}}

応答マッピング

応答属性Marketoフィールド
displayNameformFieldNames.lINE_DISPLAY_NAME
userIdformFieldNames.lINE_USER_ID

マルケトの設定⑤LINEメッセージ送信用のWebhookの設定

新規ウェブフックをクリックし新しいウェブフック作成画面を立ち上げます。
入力する内容は下記の通りです。

項目入力内容
ウェブフック名自由に設定
詳細自由に設定(空欄でも可)
URLhttps://api.line.me/v2/bot/message/push
リクエストタイプPOST
テンプレート{
“to”:{{lead.LINE ID}},
“messages”:[
{
“type”:”text”,
“text”:{{lead.LINE_COMMENT:default=デフォルトメッセージ}}
}
]
}
エンコードJSON
応答タイプなし
※テンプレートの内容を変更することで、さまざまなタイプのメッセージを送ることが出来ます

カスタムヘッダ―

ヘッダ
AuthorizationBearer ▼チャネルアクセストークン▼

※▼チャネルアクセストークン▼=メモしたMessage APIチャネルのチャネルアクセストークン
Content-Typeapplication/json

応答マッピングは空欄(設定不要)となります。

マルケト側のウェブフックの設定は以上となります。

上記はテキストの送信となりますが、画像・アイコン・ボタンなどがレイアウトされたメッセージの送信も可能です。

Flex Messageを使用してJSONデータを作成し、ペイロードテンプレート箇所に差し込むことで様々な形式のメッセージを送ることが出来るため、時間があるときに改めてその方法もご紹介させていただきます。

Flex Message Simulator
https://developers.line.biz/ja/docs/messaging-api/using-flex-messages/

LINEへメッセージを送信するためのキャンペーンを作る

キャンペーンはバッチキャンペーンでは動かない。必ずトリガーキャンペーンにすることが重要。

送信用のキャンペーンを作成するにあたり、個人的に詰まったので備忘録として残しております。
当時、何回やってもメッセージが送信されず数時間が経過したのち、判明した送信できなかった理由が上記でした。

バッチキャンペーンで決められた時間に実行したい場合、送信用とは別にリストへ追加するバッチキャンペーンを作成し、送信用キャンペーンはリストに追加をトリガーにするなどの工夫が必要です。

キャンペーン作成:フローでウェブフックを呼び出す

送信はスマートキャンペーンで実行させることが出来ます。

新たに送信用のスマートキャンペーンを作成し、フローでウェブフックを呼び出すことでメッセージ送信が実行できます。サンプルとしては以下の形でメッセージの配信が可能となります。
※スマートリストは任意のトリガーを設定してください。

上記のメッセージ内容は「5-データ値の変更」の値が「LINEメッセージ送信用のWebhook」のテンプレートに差し込まれますので、あいさつ文など任意の値を設置することでその文章が送信される仕組みとなります。

以上がマルケトエンゲージ(Marketo Engage)からLINEへメッセージを送信するときの設定の備忘録となります。
この記事は2024年8月時点で動作確認を行っておりますが、仕様変更などにより送信が出来ない場合も御座いますこと予めご了承ください。

お問い合わせ・ご相談お気軽にお問い合わせください

▲ PAGE UP

▲ PAGE UP TOP お問い合わせ