2018年1月16日(火)よりサポートサイトはhttps://support2.karte.ioへ移行しました。

Marketo連携 - KARTE→Marketoでユーザー情報、イベント情報を連携する

※Marketo連携は、Javascriptの知識が必要になります。Javascriptがわかる方をアサイン後、設定を進めていただきますようお願いいたします。

 

ユーザー情報の連携


KARTEのユーザー情報を使って、Marketoのリード情報を更新する方法をご説明します。

Marketoのリード情報を更新するには、アプリ設定でMunchkinのAPI 秘密キーを登録している必要があります。

karte_marketo_setting.png

Munchkin API 秘密キーは、Marketo管理画面で、管理>Munchkin>API構成で確認できます。空欄の場合は任意のキーを設定していただき、それを指定します。 

  • Munchkin API 秘密キーが正しく設定されていること
  • ユーザータグでemailを送っていること(identify.emailが存在すること)

上記2つの条件を満たすと、Marketo連携時に、marketo_hash を取得します。このmarketo_hashを使ってMarketoのリード情報を更新します。

 

リード情報を更新する接客サービスの設定手順

対象ユーザー

全員に配信(特にユーザーを絞る必要がなければ)

アクション

リード情報連携用のスクリプトを接客サービスで実行します。このスクリプトは、テンプレート一覧>スクリプト(KARTE to Marketoユーザー情報連携スクリプト)から選択可能です。 

以下は、Marketoリードのメール、ファーストネーム、ラストネームを、KARTEのユーザー情報で更新するスクリプトのサンプルです。Marketoの任意のフィールドを同様の形式で追加することで更新することができます。Emailとmarketo_hashは必ず指定してください。

if(window['Munchkin']){
    Munchkin.munchkinFunction('associateLead', {
            "Email": [[email]], // 必須
            "FirstName": [[FirstName]],
            "LastName": [[LastName]]
        }, [[marketo_hash]] // 必須
    );
}

※1 Email, FirstName, LastNameは、MarketoのフィールドのAPI名(SOAP API名)です。API名のリストの確認方法はこちら

※2 [[email]]、[[FirstName]]、[[LastName]]、[[marketo_hash]]は、KARTEのユーザー情報を変数で指定しています。詳しくはアクション内での変数の利用を参照してください。

Munchkin APIの詳細については http://developers.marketo.com/javascript-api/lead-tracking/api-reference/ を参照してください。

配信ページ 

全体(特に指定がなければ)

公開設定

アクセスごとに配信

 

イベント情報の連携


KARTEのイベントをMarketoのアクティビティに追加できます。

PageViewイベントとLinkClickイベントは、MarketoのMunchkinのscriptをKARTEの接客サービスで配信することで、Marketoのアクティビティに追加されます。(以下はサンプルコードなので適宜、値を変更してください)

 

PageViewイベント

if(window['Munchkin']){
    Munchkin.munchkinFunction('visitWebPage', {
            url: '/Football/Team/Seahawks',
            params: 'defense=legion_of_boom&qb=wilson'
        }
    );
}

 

LinkClickイベント

if(window['Munchkin']){
    Munchkin.munchkinFunction('clickLink', {
            href: '/Football/Team/Seahawks'
        }
    );
}

Munchkin APIの詳細については http://developers.marketo.com/javascript-api/lead-tracking/api-reference/ を参照してください。

 

その他イベントをカスタムアクティビティに追加

PageViewとLinkClick以外のイベントを連携するには、KARTEのWebhookプラグインを使います。Webhookを使って任意のイベント情報をMarketoのカスタムアクティビティに連携します。設定手順は以下の通りです。

1. Marketo上でカスタムアクティビティを作成する

  • 管理 → Marketoカスタムアクティビティ → 新規カスタムアクティビティの追加
    • 表示名:アクティビティリストで表示されるアクティビティ名(ex. KARTEで購入イベントを計測)
    • API名:API等で利用する名前(ex. karte_buy)
    • フィルター:適宜設定
    • トリガー:適宜設定
    • 主フィールド:プライマリーなフィールド
  • カスタムアクティビティの作成後、必要があればフィールドを追加する
  • 任意のカスタムアクティビティを選択 → フィールド → 新規フィールド
  • 設定後、承認する
    • カスタムアクティビティアクション → 承認

2. KARTEのWebhookプラグインをインストールする

3. 1で定義した内容に沿ったWebhook用のアクションを作成する

  • テンプレート一覧>スクリプト>「KARTE to Marketoカスタムイベント連携webhook」というテンプレートを利用する(表示されていない場合はお問い合わせください)
  • テンプレートのbodyの値を、1で設定した内容に沿って書き換える(target_url、method、Content-Type、Authorizationは変更しない) 
    • leadId: [[lead_id]]は、ユーザー情報の埋め込み(変数)を使用しています。詳細はこちらを参照
    • activityTypeId:カスタムアクティビティのID(100001のような6桁の数字)
    • activityDate:変更せずこのまま利用
    • primaryAttributeValue:カスタムアクティビティの主フィールドに入る値を指定(「karte_buy」等)
    • attributes:nameにはMarketoのカスタムアクティビティのフィールドで設定したAPI名を、valueには連携するKARTEイベントのイベント名とプロパティを {{_events.イベント名.プロパティ名}} という形式で指定

以下のサンプルスクリプトでは、KARTEの購入イベント(buy)と、それに紐づく購入金額(revenue)、税額(tax)、配送料(shipping)をMarketoに連携します。

{
"input": [
{
"leadId":[[lead_id]],
"activityTypeId": 100001,
"activityDate": {{(new Date()).getTime()}},
"primaryAttributeValue":"karte_buy",
"attributes": [
{ "name": "revenue", "value": {{_events.buy.revenue}} },
{ "name": "tax", "value": {{_events.buy.tax}} },
{ "name": "shipping", "value": {{_events.buy.shipping}} }
]
}
]
}

 

また購入イベント(buy)では、購入商品の情報はitems以下で配列で入っているため、以下のように記述いただくと、item_idやpriceやnameなどを取得し、Marketoのカスタムアクティビティのフィールドに連携できます。

valueが文字列の場合は、ダブルクォーテーション "" で囲う必要があります(以下のitem_name参考)

"attributes": [
    { "name": "revenue", "value": {{_events.buy.revenue}} },
    { "name": "tax", "value": {{_events.buy.tax}} },
    { "name": "shipping", "value": {{_events.buy.shipping}} },
    { "name": "item_id", "value": {{_events.buy.items[0].item_id}} },
    { "name": "item_price", "value": {{_events.buy.items[0].price}} },
    { "name": "item_name", "value": "{{_events.buy.items[0].name}}" }
]

※KARTEからMarketoへのイベント連携は、marketo.idをキーに行うのでemailは必要ありません

 

4. 1~3を踏まえて、接客サービスを作成

  • 対象ユーザー
    • Marketo連携済みユーザーセグメントを指定(marketo.idが存在するという条件で作成。詳しくはこちら
  • アクション
    • 3で作成したwebhookテンプレート
  • 配信ページ
    • 配信のトリガーとなるページやイベントを指定
    • 上記のサンプルスクリプトは購買イベントが発生した時に発火したいので、以下のように設定

__________2017-11-09_19.02.48.png

  • 公開設定
    • 任意で設定
    • 上記のサンプルスクリプトは、購入時に毎回発火させたいので、アクセス毎に配信」を指定

 

関連ページ


Marketo連携 - 概要と初期設定方法

Marketo連携 - Marketo→KARTEでリード情報、アクティビティ情報を連携する