マーケターのプログラミング日記

東京、シンガポールを経てシリコンバレーで働く、マーケター。英語、プログラミング、データ分析は次世代マーケターの必須スキルだと信じて進む。

Facebookリード獲得広告とウェビナーを繋ぎこむ準備

3週間のアメリカ出張兼新婚旅行からシンガポールに帰国しました。インド旅行から帰国した週からアメリカだったので、ようやくお家でホッとしています。

最初の2週間は出張でベイエリアにいました。一緒に旅行にも行く本当に尊敬していた本社の同僚が起業するために退職を決めていたり、ベイエリアにやよい軒がオープンしていたり、良い刺激をもらいました。最後の1週間はお休みをとり、奥さんとフロリダのディズニーワールド、ユニバーサルスタジオを回り、ニューヨークでラーメンを食べて、NYUのMBAに行っている大学院同級生と金融業界で働く学部同級生と、楽しい時間を過ごしました。どんどん、自分の周りが世界に羽ばたいていて、これまた良い刺激をもらいました。

さて。

私は、B2Bマーケティング部署に所属しているのですが、ウェビナー(オンラインセミナー)はグローバルで重要なチャネルです。

弊社では、CITRIXのGoToWebinarを使っています。いつのまにか日本語にも対応していますね。

Web ミーティング | GoToMeeting™ Japan

ウェビナーでは参加者の数がKPIとなるわけですが、広告を走らせて参加申し込みページに遷移させる施策では、途中でドロップしてしまう人が多くなってしまいます。

デジタル広告->クリック->参加登録ページ->申し込み

たとえばCTRが1%、申し込み率が10%だとすると、1000人に1人しか申し込みしてもらえません。

そこで、Facebookのリード獲得広告とGoToWebinarを繋ぎ込めば、Facebookから外へ遷移せずに申し込みが完了します。

GoToWebinar API詳細ページ

 

ここでハマったポイントとしては、

CITRIXのdeveloper pageを見ると、linuxのサンプルコードは書いてあるが、phpのコードが載っていない。

例えば、LinuxのPOST通信。

curl -X POST -H "Accept:application/json" -H "Content-Type: application/x-www-form-urlencoded" "https://api.citrixonline.com/oauth/access_token" -d 'grant_type=authorization_code&code={responseKey}&client_id={consumerKey}'

これを解読してPHPに書きなおしました。

//青色のところは、都度変える

$url = 'https://api.citrixonline.com/G2W/rest/organizers/{organizerKey}/webinars/

{webinarKey}/registrants?resendConfirmation=true';

$headers = array(
    'Content-Type: application/json',
    'Accept: application/vnd.citrix.g2wapi-v1.1+json',
    'Authorization: OAuth oauth_token={access token}'
);

$regist = array(
    'firstName' => 'taro',
    'lastName' => 'yamada',
    'email' => 'taro@yamada.com',
    'jobTitle' => 'Marketing Manager',
    'organization' => 'taroyamada.inc',
);

$options = array(
    'http' => array(
        'header' => implode( "\r\n", $headers ),
        'method' => 'POST',
        'content' => json_encode($regist)
    )
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);

Learnings

1. Facebookアプリでもそうですが、アプリがユーザーの情報にアクセスするためには、access tokenをその都度もらわないといけない。(それぞれの家の鍵みたいな)

2. phpでcurlをつかってhttp通信できるが、使わなくてもできる

3. phpでPOST送信するときに、JSONなのか、 クエリ文字列なのか、受け取る側のデータ型に合わせないといけない。GoToWebinarはJSON指定でした。

JSON:json_encode()で、ArrayをJSONに変換する

クエリ文字列:http_build_query()で、Arrayをクエリ文字列に変換する

クエリ文字列(URL-encoded query string)は、よく広告計測で使われる data1=neko&data2=inu  みたいな文字列です。

 

雑感

自分のチームのためにつくるならば、難しくないのですが、これを一般化=製品化するとなると複雑になってきて難しい。そろそろプロダクトアウトしたいです。

 

参考コード: