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

ユーザー情報の連携

KARTEのユーザー情報を使って、Marketoのリード情報を更新する方法をご説明します。
Marketoのリード情報を更新するには、プラグイン設定でMunchkinのAPI 秘密キーを登録している必要があります。

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: カスタムアクティビティのプライマリフィールドに入る値を指定(必須)
    • attributes: カスタムアクティビティに設定したフィールドから任意の数のフィールド名(name)と値(value)を設定します。ユーザー情報やトリガーとなるイベントのデータを利用したい場合は、ユーザー情報の埋め込み(変数)を利用してください。

以下のサンプルスクリプトでは、KARTEの接客サービス実施イベントをトリガーに、実施した接客サービスのID(campaign_id)とアクションID(shorten_id)をMarketoに連携します。

{
    "input": [
       { 
         "leadId":[[lead_id]],
         "activityTypeId": 100001,
         "activityDate": {{(new Date()).getTime()}},
         "primaryAttributeValue":"karte_buy",
         "attributes": [
               { "name": "karte_campaign_id", "value": "[[campaign_id]]" },
               { "name": "karte_shorten_id", "value": "[[shorten_id]]" }
         ]
       }
    ]
}

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

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

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

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

関連ページ

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

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