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

リード情報の連携

リードの取得

  • 定期連携の場合
    • KARTEのユーザー情報として取得したemailを使って、Marketoのリード情報を取得します。(値が入っているフィールドのみ)
  • リアルタイム連携の場合
    • KARTEのユーザー情報として取得したemailを使って、Marketoのリード情報を取得します。(値が入っているフィールドのみ)
    • ただし、emailが取得できていない場合や、emailでリードが見つからなかった場合に、marketo_cookieを使った連携を試みます。

Marketoから取得したリード情報は、identify.marketo というイベント以下に格納されます。

{
    "marketo": {
        "id": 15470,
        "mktoIsPartner": false,
        "unsubscribed": false,
        "mktoIsCustomer": false,
        "lastName": "Tanaka",
        "emailInvalid": false,
        "doNotCall": false,
        "mktoName": "Taro Tanaka",
        "email": "taro.tanaka@plaid.co.jp",
        "company": "Plaid, Inc",
        "createdAt": "2017-06-20T08:04:43Z",
        "firstName": "Taro",
        "updatedAt": "2017-06-20T08:04:43Z",
        "_karte_last_sync_date": 1497950439
    },
    "marketo_hash": "cb697d9d013b855587975b578616563112eXXXXX"
}

emailで連携する場合

以下の2点を満たしていれば、ユーザーがサイトにアクセスした際に連携されます。

  • ユーザータグでemailをKARTEに送っている
  • Marketo連携 – 概要と初期設定方法 での設定が正しくできている

リード情報が連携できているかどうかは、ユーザー詳細ページで、ユーザー情報イベントの中身を見ていただくと確認することができます。以下のようにidentify.marketo というイベント配下に、Marketoのリード情報が入って入れば連携できています。

marketo_lead.png

marketo_cookieで連携する場合

emailをKARTEで取得できていない場合は、marketo_cookieで連携します。連携可能なユーザーはMarketo側で、リード情報とcookieが紐づいているユーザーに限ります。
marketo_cookieはCookieの_mkto_trkに格納されている値です。

連携するには、以下のスクリプトを接客サービスで配信します。このスクリプトでは以下の2つの処理が実行されます。

  • marketo_cookieを取得し、KARTEのユーザー情報(identify.marketoイベント配下)に追加される
  • Marketo側で、このmarketo_cookieに紐づくリード情報が存在する場合には、そのリード情報を取得し、KARTEのユーザー情報に追加される

※ユーザー情報の更新は非同期的に行われ、以下スクリプトが実行された時点での最新のセッションでは連携が完了していません。以下スクリプト配信後に連携済ユーザーに対して接客を行う場合などは、こちらのセグメント等をご利用ください。

※このスクリプトは、テンプレート一覧>スクリプト(Marketo Cookie取得スクリプト)からも選択可能です。

function readCookie(name) {
    var cookiename = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0; i<ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(cookiename) == 0) return c.substring(cookiename.length,c.length);
    }
    return null;
}

var value = readCookie('_mkto_trk');
if(value){
    tracker.user({
        marketo_cookie: value
    });
}

正しくmarketo_cookieを取得できているか、リードの連携ができているかは、接客サービスで上記script配信後、 ユーザー詳細ページでユーザー情報イベントの中身を見ていただくと確認することができます。

注意事項

Marketoからリードを取得する際は、検索を行って最終更新日が最も新しいリードを取得します。

アクティビティの連携

Marketoのスマートキャンペーンから、KARTEの特定ユーザーに対してイベントを発生させることができます。スマートキャンペーンの対象リードが既にKARTEのユーザーに連携済みであれば、そのユーザーに対してイベントが発生します。KARTE側に連携済みユーザーが存在しない場合は新規ユーザーとして計測します。

アクティビティ連携の流れは、以下の通りです。 

  1. Marketoでウェブフックを作成する
  2. 作成したウェブフックを実行するキャンペーンを作成する

Marketoでウェブフックを作成する

Marketo管理画面で、管理>ウェブフック>新規ウェブフック をクリックすると、以下のようなウェブフックの作成モーダルが表示されます。

下記の表を参考に必要箇所を入力し、作成ボタンをクリックしてウェブフックを作成します。

項目 説明
URL URLにプロジェクト固有のMarketoウェブフック用URL
(APIキーがf07c1748810a8e7c90ddd144c48xxxxxのケースではhttps://t.karte.io/hook/f07c1748810a8e7c90ddd144c48xxxxx/marketo/trackになります)
APIキーは管理画面の「基本設定&決済設定」で確認できます。
リクエストタイプ POST
テンプレート POSTリクエストのBodyにあたる内容
e.g.marketo_score_changedイベントを発生させてvaluesにscoreを入れるケース
leadId={{lead.Id}}&events=[{"event_name": "marketo_score_changed", "values": {"score": {{lead.Lead Score:default=0}}} }]
リクエスト トークンのエンコード JSON
応答タイプ JSON

Marketoでウェブフックを実行するキャンペーンを作成する

Marketo管理画面のマーケティング活動から、新規スマートキャンペーンを作成し、フローの設定で上記で作成したウェブフックを指定します。
その後、スマートキャンペーンを有効化して、アクティビティが正しくKARTEに連携されるか確認してください。

関連ページ

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

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