Above & Beyond

日々のアウトプット記録

BPStudy#134〜LINE Ads Platform / Twitter広告&APIの活用 に参加してきました

昨日は「BPStudy#134〜LINE Ads Platform / Twitter広告&APIの活用」という勉強会に参加してきました。

bpstudy.connpass.com

初めて参加する勉強会なのに会場には一番乗りで入ってしまい、だいぶ緊張しました。。。

f:id:kabukawa:20181030182543j:plain

セッションのスライドはまだ公開されていないようなので、昨日書いたメモを貼っておきます。 (スライドが公開されたら追記します)

なぜ参加したか

BPStudy自体は以前から知ってはいたのですが、日程が他の勉強会と被ったりして参加できずにいました。 今回はテーマが広告(アドテク)。最近この分野に興味が出てきたのと、LINEとTwitterの方から話を聞けるということで参加することにしました。

参加してみて

第1部 LINE Ads Platform 開発の裏側

LINE株式会社 徳永広夢(Twitter: @tokuhirom) さん

www.slideshare.net

  • 徳永広夢 さん

    • Perl5 ModuleやPerl6コミッタ
    • LINEの開発では最近はJavaが多いがまだまだPerlも使われている。
  • LINE Ads Platform

    • 広告配信プラットフォーム
    • 自社のサービスに広告を配信するプラットフォーム linebiz.jp
  • 2018年の夏に新システムリリース

    • ログのリアルタイム集計
    • 広告インデクシングの高速化
    • DSPのオンライン学習
  • SSP(Supply-Side Platform)
    媒体社側の広告収益を最大化するためのプラットフォーム

  • DSP(Demand-Side Platform)
    広告主側の広告効果を最大化、最適化するためのプラットフォーム

  • DMP(Data Management Platform)
    自社や外部などの様々なデータを抱合し、分割・正規化し、それらを保存・管理するプラットフォーム

admage.jp

LINE Ads Platformの仕組み

  • 1.Real Time Bidding- Auction

    • Media → 1.Ad Request → SSP Supply Side Platform → 2. Bid Request DSP
    • LAP(LINE Ads Platform) DSP CMS
    • 入稿画面から広告を登録→MySQLに登録
    • MySQL→登録されている広告リストをファイルとして配布する → DSP配信サーバーへ登録する(Goで実装)
    • 一方その頃
      • メディア側のリクエストがhttpsで受付
      • SSPサーバーがDMPというユーザーの属性情報を管理するサーバーから取得してLAPにリクエストを投げる
        • LAP Generated DSP
        • LAP Performance DSP
        • 3’rd Perty DSP
    • 入札価格
    • 広告のタイトル
    • 画像のURL
    • Imp発生時にコールして欲しいURL
    • クリックしたときの遷移先URL
      SSPが受け取って、その中で効果が高そうな広告をSSPが配信する。
      などなど
  • 2.Impression

    • 広告が表示されたことを記録するということ
    • DSP Tracker
    • SSP Tracker(メディア事業部への報告)
    • Trackerからの塔屋時にはKafkaを経由している
    • Strageへの保存(Spark)
  • 3.Click

    • DSP Redirector
      でStrageに記録
  • 4.Conversion

    • 広告主の成果発生 WebPage
      • Line Tag Server
      • Strage Joiner → Strage
    • 広告のシステムはコンポーネントがたくさんあって複雑
    • DSP のCTR推定、自動入札の話が多いが、今回はしない
  • コンポーネントは独立している

  • システムの選択

  • We're using Private Cloud

    • Messagengアプリなども運用しているのでオンプレ運用
    • OpenStackベースでPrivate Cloudを運用
  • SSP

    • RealTimeBiddingしている
    • 複数のDSPにパラレルでリクエストを投げて結果をオークションする
    • Medianotameno サーバー
    • Java8 + Spring Boot2 + Tomcat
  • DSP

    • 広告主の利益が最大化するように最適な広告を配信する
    • RealTime Biddingを実施する
    • CTR Prediction/CVR Prediction
    • 自動単価調整
    • 広告に興味がありそうなユーザーに対して高値でビッドする
    • Go + net/http
  • Event Tracker/Data Pipeline

    • 広告が表示された、クリックされたなどのログを受信する
    • ログはすべて保存される
    • データの処理、Reportingを担当
    • Java8 + Spring Boot 1.5
    • Sperk Streaming
    • Kafka
    • ETL is using aireflow

グローバルな開発体制のためにどんな技術を採用したのか?

  • 開発体制

    • 日本と韓国
    • DSPは広告主対応などもあるので日本にも企画者を立てる
  • Why Kafka Distributed streaming system

  • Binary Serialization

    • Saving Strage
    • Improve throughput
    • AVRO/Protobufを併用
  • 技術スタックの選択

  • 韓国

  • 英語?

    • 英語ももちろん使うが、日韓の機械翻訳も併用
    • System Specificationの定義などは英語
    • LINEで開発のコミュニケーションを取っている。
    • 翻訳Botを併用
  • ドキュメント

    • Confluenceを利用 www.atlassian.com
    • 翻訳ボタンが付いている(付けている)
  • チャットで難しいときは?

    • 同時通訳を介したコミュニケーション
    • Polycomテレビ会議が全拠点に導入済み
    • 気軽に韓国出張に行く
    • Face to Faceで話すと情報量がやっぱり多い

まとめ

* 広告プラットフォームを1から創った
* 技術スタックは現場の判断で柔軟にに選択

QA

  • JavaはOpenJDKに移行中らしい

第2部 Twitter 広告と API を組み合わせた、インタラクティブなキャンペーンの作り方

Twitter Japan 古川 亨 さん (Twitter: @torufurukawa )

www.slideshare.net

  • BrandStrategyは広告主のブランド戦略を成功させる
  • Twitter is What’s Happning
  • 世界中で起きている出来事とそれにまつわる会話がリアルタイムに繰り広げられる場所

  • Twitter広告でメッセージを届ける

    • タイムライン上に広告を差し込む
    • タイムラインに広告主のアカウントを表示
    • サイドバーのトレンドに差し込む広告
  • Twitterではカンバセーション(会話、インタラクション)が起こる

    • リツイートもカンバセーション
    • いいねも含まれる
    • シェア
  • オーガニック運用だけでは大規模に対応しにくい

  • 技術でスケールさせたい

  • 広告とAPIでスケールさせる

    • Auto response
    • Chatbot
    • UI Extention
  • Auto response

    • 「〇〇してくれたら△△します」だけではインタラクティブではない
    • Auto responseでカンバセーション
    • プロモツイートでカンバセーションを促す
    • Account Activity APIWeb Hookを登録できる
    • クリスマスボックス
    • フォロー&リツイートで抽選
    • あたったらその場で返信
    • 広告主、インフルエンサー、@TwitterJPから #クリスマスボックス で相互に流入
  • Chatbot

    • 全部パブリックなのは、ちょっと、、、というときに
    • DMでチャットボット
    • QuickReplyで質問(選択肢を出せる)
    • タイムラインへのツイートを促す
    • Lux#ボタニフィーク
      • 新商品のプロモーション
      • チャットボットで性格診断っぽい体験
      • 診断の過程で商品の説明
      • 診断結果のツイートで新商品情報が拡散
  • UI Extention

    • インタラクションのUIが限られている
    • Web Viewで続きのインタラクション
    • ウェブサイトなのでUIを自由に実装できる
    • 但しTwitter利用者の情報は伝わらない
    • Web Intentsでツイートを促す
    • Webに行って戻ってくるだけ。
    • 試合中に出場選手についてツイートするのは自然な行為
  • 広告とAPIでスケールさせる

QA

  • いいねボタンの廃止についてはなにも決まっていない 仮に何かの機能が減るとしても、ネイティブな広告なのでプラットフォームでなんとかするように頭を捻る。

LT

株式会社ビープラウド 佐藤治夫(Twitter:@haru860) さん

www.slideshare.net

  • 内容が伝わるだけで良い文章

    • 作業手順書、マニュアル  読みにくかったり理解できないと離脱
  • 人を動かすための文章

    • 興味が生まれた
  • エンジニアも人を動かす文章を書く

    • ブログが書けない
    • 人を動かすための文章が書かない
    • 投稿数が低下
    • 量を書いても質に転化しなかった
  • ライティング本を学んでみた

    • 学んだ効果 はてブがたくさんつくようになった
  • 文章を書くことはプログラミングと似ている

    • Why→What→How→書く→読みやすいように整える
    • 使われないものを創ってしまう
    • 要件確認が発生し開発スピードが落ちる
    • 設計が悪く作り直したほうが早い
    • きれいな文章を最初から書こうとして書けなくなる

LTで紹介されていた本

6分間文章術

6分間文章術――想いを伝える教科書

6分間文章術――想いを伝える教科書

超スピード文章術

10倍速く書ける 超スピード文章術

10倍速く書ける 超スピード文章術

理科系の作文技術

理科系の作文技術 (中公新書 (624))

理科系の作文技術 (中公新書 (624))

結局人生はアウトプットで決まる

結局、人生はアウトプットで決まる 自分の価値を最大化する武器としての勉強術

結局、人生はアウトプットで決まる 自分の価値を最大化する武器としての勉強術

言葉にできるは武器になる

「言葉にできる」は武器になる。

「言葉にできる」は武器になる。

まとめ

広告は今まであまり縁のない世界でしたが、様々なテクノロジーを駆使してより速くというのを追求しているようでした。 幅広い知識も必要ですし、日々進化しているものなんだなと思いました。 サイバーエージェントさんもそうですが、みんなが雪崩を打って「クラウドクラウド!」と言っている中で、コストなどを考えてオンプレを無くさない(あるいはオンプレで構築をする)というのも面白いですね。 技術スタックも何かに統一せずにゆるくまとめているのは意外でしたが、多様性というのも大事にしているのだな、と感じました。 参加できて、いろいろ勉強になりました。登壇者、スタッフ、参加者の皆様、ありがとうございました!