見出し画像

1st Party Dataで広告効果を最適化する「KARTE Signals」の開発の裏側と目指す世界

近年、多くのWebブラウザは3rd Party Cookieのサポートを段階的に廃止しています。これは、ユーザーのプライバシー保護を目的とした措置です。この潮流のなかで3rd Party Cookieに依存する3rd Party Dataの収集が困難になっており、1st Party Dataそのものとその活用の重要性が増しています。

プレイドでは広告効果を根本的に改善する1st Party Data活用のワンストッププラットフォーム「KARTE Signals」を提供しています。失われたコンバージョンデータの一括補完や高精度なターゲティング、Value Based Bidding(VBB)による入札最適化の精度改善などを実現するプロダクトとして、WebやSNS広告を利用する多くの企業などで活用されています。

今回はKARTE Signalsの開発に携わる、プロダクトオーナーの武石啓二朗とソフトウェアエンジニアの山内雅浩、カスタマーエンジニアの北村祐亮にインタビュー。KARTE Signalsの状況や開発の裏側、今後のビジョン、開発のやりがいを聞きました。

「KARTE」のデータを広告配信に活用する

――まずは、みなさんの自己紹介をお願いします。

武石:私はKARTE Signalsの事業責任者であり、プロダクトオーナーも担当しています。キャリアのなかで広告に関連するところをお話しすると、サイバーエージェントでDSP広告の運用マネージャーを、アプリボットでデータマイニングチームのマネージャーを経て、リクルートに移りました。

リクルートではスタディサプリのオンライン/オフラインのマーケティングチームを束ねており、その一環でユーザーとしてCX(顧客体験)プラットフォーム「KARTE」を使用していました。その後、別の事業会社を経て、プレイドに入社しました。1st Party Dataを広告に活用するという領域には、現在に至るまで長く携わっています。

武石啓二朗 (Signals Team, Team Head)

山内:プレイドには2016年に入社しました、エンジニアの山内です。KARTE Signalsでは主に、CV補完や精度の高いターゲティングによって広告配信最適化ができる「Signals Connector」という機能の開発をしています。

山内雅浩 (Signals Team, Engineer)

北村:プレイドでKARTE Signalsのカスタマーエンジニアとして働いている北村です。プレイドには2022年にジョインし、主にKARTE SignalsのテクニカルサポートやKARTE Signalsの開発、品質保証などに携わっています。

北村祐亮 (Signals Team, Customer Engineer)

――KARTE Signalsはどのようなプロダクトなのでしょうか?

武石:KARTEでは、Webサイトやアプリといったデジタル接点での自社ユーザーのさまざまな行動データ、いわゆる1st Party Dataを取得・分析・活用することができます。KARTE Signalsは、この1st Party Dataを活用する先として、広告効果の改善を担うサービスです。「Signals Connector」と「Signals Dashboard」の2機能を提供しています。

簡単に説明すると、「Signals Connector」は、1st Party Dataを広告媒体に受け渡すことで広告配信の最適化ができる機能、「Signals Dashboard」は、広告媒体から取得してきたデータをKARTEのデータと連携させて一元的に可視化するためのダッシュボード機能です。


KARTE Signals固有の特徴・強みとは

――KARTE Signalsは、他の広告配信最適化ツールと比べてどのような特徴がありますか?

武石:大きく分けて2つあります。まず、1st Party DataをKARTEが取得できていることそのものが強みです。たとえば、広告代理店などが企業のサポートをして1st Party Dataを活用した広告配信を行おうとした場合、そのデータが利用しやすい状態になっておらず、そもそも活用が難しいといった事例が発生しがちなんです。企業によっては、そもそも代理店やマーケティング担当者が関わっていないCRMサービスにその1st Party Dataが置いてあったりします。それによって担当者でもデータへのアクセスの仕方がわからないとか、広告代理店といった外部の専門家に頼ろうとしてもデータにアプローチすらできないといったことも、往々にして起きています。

次に、KARTEが独自に取得しているユーザーの属性・行動データも利用できることで、より効果的にセグメンテーションや配信内容の最適化を行えます。仮にメールアドレスや電話番号を抽出して媒体側に送るとして、それとセットで「その個人がいったいどのような人なのか」という情報まで含まれていなければ、意味のあるデータにはなりません。KARTEの機能やお客さまの分析によって導き出されたユーザーの属性情報を媒体に連携することで、より正しくデータを活用した施策を打つことが可能になります。

たとえば、優良顧客に対してメッセージを送りたいという場合、企業によっても優良顧客の定義はさまざまだと思います。Webサイトにおけるアクセス頻度や滞在時間・セッション数、累計購入金額や購入頻度かもしれませんし、それらを掛け合わせた企業独自のユーザランクかもしれません。多種多様な定義があると思うんですね。その定義をKARTEで分析・設定できていれば、属性情報をシームレスに広告媒体へと連携していけます。

――エンジニアが扱う技術としては、どのような点が面白いでしょうか?

山内:とりわけ奇をてらった技術を扱っているわけありませんが、「Signals Connector」のSQLを生成するエンジンとしてdbtを使っていることが特徴です。KARTE Signalsではクエリが複雑になるという課題を解決するために、クエリを分割する必要がありました。dbt を使うことでSQLをシンプルな複数のファイルに分割でき、機能の変更や保守がしやすくなっています。

また、それに関連した話として、dbt CloudのREST APIを使うのではなく、dbtのSQL合成を行うGraphQL APIを自前で構築しているのも特徴です。dbt CloudではKARTE Signals における BigQuery の権限管理の要件を満たすことができなかったため、こうした運用にしました。

このあたりは、『KARTE Signals の複雑 SQL を支える dbt の活用』というブログ記事を書いているので、ぜひご参照ください。

北村:もう一つ、大きな特徴としてKARTEのユーザーマージの仕組みが挙げられます。KARTEではユーザーを主にビジターとメンバーの2種類に分類しています。初めてサイトを訪れた人はビジターとして認識され、ログインなどのアクションによりuser_idが送信されると、メンバーとして認識されます。ビジターからメンバーへの昇格時、user_idが送信されることで「ユーザーのマージ」が行われ、これまでのすべてのイベント情報がメンバーのアカウントに統合されます。

この仕組みにより、クッキー規制やクロスデバイスによって広告媒体側で別ユーザーとして認識された場合にも、KARTE上では同一ユーザーであると認識できるため、コンバージョン補完をした際の補完率を高められます。また、KARTEではユーザーのWebやアプリ上の行動データを詳細に記録しているため、質の高いデータを広告媒体に提供できることも大きな強みです。

ソリューション版からプロダクト版へ

――KARTE Signalsの開発の経緯についてもお聞きしたいです。

武石:開発の発端として、3rd Party Cookieが規制されるのに伴い広告媒体におけるコンバージョン計測に欠損が発生しているという状況があります。そして、その規制はどんどん厳しくなっています。そのなかで、Cookieを使用せずにサーバー経由でコンバージョンを計測するための手法として、コンバージョンAPIというものを各種広告媒体が提供するようになりました。

プレイドはKARTEを通じて多くの企業の1st Party Dataの取得・活用を支援しているため、「これらの情報をコンバージョンAPI経由で連携し、それにより広告配信の最適化を実現できるのではないか」という仮説を立てました。しかし、本当に成果が出るのかどうか、初期フェーズではまだ未知数でした。

そこで、まずは「KARTE Datahub」の一機能としてKARTE Signalsを提供し、ソリューションとしての価値検証を行うというフェーズを挟みました。いわゆるProblem Solution Fit(PSF)の検証をしたかったという段階だったので、我々はKARTE Signalsのソリューション版と呼んでいます。

北村:この時期は、各種媒体のコンバージョンAPIのドキュメントもまだまだ整っていない段階。そのため開発もかなり試行錯誤が続きましたね。試しにクエリを書いて媒体側に情報を送ってみて、エラーが出たらその原因を調べていく。一通りうまくいったら型化をするという地道な作業でした。

武石:完成したソリューション版を複数のクライアント企業に活用していただいたところ、ほぼ全てのクライアントで効果が出ました。また、Googleなど複数の媒体がコンバージョンAPIを推奨する公式声明を出していることもあり、この方向性でプロダクト化すべきだろうということになりました。

ただ、ソリューション版はあくまで「価値を発揮できるかをスムーズに検証すること」を重視して開発してきたため、システムとして使い勝手の良くない部分や技術的負債があったんです。具体的には、ソリューション版は独自のUIを作るのではなくKARTE DatahubのUI上で提供していました。

また、ユーザーがクエリを書いてデータを加工し、ジョブフローで実行する仕様でした。これを、より直感的かつ簡易的にデータ作成やジョブ設定できるプロダクトにしていきたいと考えました。このコンセプトのもとに開発したのが、KARTE Signalsのプロダクト版です。


より利便性の高いプロダクトにするために

――プロダクト版の開発は、どのような方針を持って、どのような工夫をしながら進めていきましたか?

山内:プロダクト版の初期バージョンとしては、もともとソリューション版で提供していた機能をそのまま移し替える程度のことを想定していました。そこでKARTE Datahubにあるクエリコレクションという機能と類似したものを作り、クエリのテンプレートを用意して必要があればそれをカスタマイズしていくような形をとりました。ただ、そのバージョンをリリースして実際に運用してみると、結局どのクライアントでもカスタムが必要になってしまい、テンプレートとしての意味があまりないという課題が生じたんです。

北村:プロダクト版では「ソリューション版ではクエリを書くのが面倒だったから、その課題を解消しよう」という目論見だったんですが、初期バージョンでは結局それを解消しきれませんでしたね。むしろ、UIを操作してクエリを作った後、手作業でクエリを書き換えてカスタマイズするという二度手間になってしまいました。そこで、なるべくクエリのカスタマイズが要らないようにするために案を検討していきました。

山内:そして、2つの機能を追加して対応することになりました。1つ目がクエリ分割です。クエリをいくつかのパーツに分割することで、共通部分は変えずにクライアント企業ごとにカスタマイズする部分だけを修正できるようにしました。これにより、柔軟性を維持しつつもテンプレートとしての一貫性も保てるようになりました。

2つ目がカラム名の自動補完機能です。たとえば広告媒体に対してユーザーのEメールアドレス情報を連携する場合、クエリ内で「このテーブルのこのカラムを(Eメールアドレスを格納しているので)使う」という設定をする必要があります。それをカラム名から判別して自動補完する機能を入れました。

クエリ分割では、元々ソリューション版で提供していた巨大な1つのクエリをどこで分割するか、どの部分を共通化するかを設計し、試行錯誤を繰り返しました。その結果、クエリ分割後はクエリに対して自動テストを実施することで、品質を担保しながらクエリを変更することが容易になりました。

武石:どうしても従来のソリューション版では、クエリを作る作業などに時間がかかり過ぎて、創意工夫がしにくい状態になっていました。ですが、プロダクト版がより使い勝手の良いシステムになることで、プランニングに注力できたりとか、KARTEで作られているセグメント情報とかイベント情報を使ってみるなど、クライアント企業の方々の創意工夫が生まれやすくなっています。広告関連の施策をより前向きに動かせるようになるだろうという期待を持っていますね。

KARTE Signalsで幅広い領域への価値創出を

――KARTE Signalsの今後のビジョンを教えてください。

武石:「1st Party Dataを活用して広告配信を行う場合には、必ずKARTE Signalsが使われる」というポジションを確立したいです。コンバージョン補完の機能を提供している媒体や、1st Party Dataを送って広告配信の改善ができる媒体は徐々に増えていますから、それらの媒体を網羅していきます。

それから、広告運用の情報を統合的に管理できるダッシュボードにしていきたいです。特定のユーザーに対してどのようなマーケティング施策を実施していて、どの媒体の広告効果が最もパフォーマンスが良いのかといった、「媒体データとユーザー一人ひとりのデータをつなぎ合わせることで創出できる価値」を提供できるようにしていきます。

広告運用において、ユーザーの情報をかけ合わせることで価値を出せる部分はいろいろあるんです。たとえば、ダイナミック広告におけるフィード連携とか。そういった、広告運用のさまざまな領域に介在していきたいです。

少し余談的になりますが、仮にKARTE Signalsを別の会社で作ろうとしても、なかなか難易度が高いと思います。なぜなら、冒頭で話したような1st Party Dataを集める大変さと、それを活かしてつないでいく難しさがあるからです。私たちプレイドの事業には、「企業自身が蓄積したデータを、いかにしてユーザーの理解やユーザーとのコミュニケーションに活かしてもらうか」という考えがあります。だからこそ、KARTE Signalsのようなプロダクトを作り、伸ばしていくという意思決定ができることが大きいと思っています。

――エンジニアのお二人は今後どのようなことに取り組みたいですか? また、このチーム固有の面白さはあるでしょうか?

山内:今はプロダクト版がようやくリリースできたという段階で、まだまだ改善できるポイントはたくさん残っています。パフォーマンス改善や、裏側の部分のリファクタリングなどです。それから、計画しているけれどまだ作っていない機能もあるので、それらにも着手していきたいです。

パフォーマンスに関しては、現状大きく2つの課題があります。1つは KARTE Signalsの管理画面で表示に時間がかかる画面がいくつかあることです。これらをストレスを感じない速さで表示できるように改善をする予定です。もう1つは、クエリの実行に不要なコストと時間がかかってしまっているので、クエリをチューニングしてこの問題を解消しようとしています。

KARTE Signalsの開発チームは小規模かつ独立しているので、新しいライブラリやフレームワークを使うといった意思決定がしやすいのも、エンジニアとしては面白いところです。

北村:KARTEのデータを使いこなすということは、全然やり切れていないと思っています。KARTEに格納された行動データ、店舗等のオフラインデータ、広告レポートのデータ等を掛け合わせ、さらに活用することで、KARTE Signalsの機能改善につなげていきたいと考えています。また、データ分析の結果にもとづいて広告媒体に動的な値を受け渡すようなことが実現できればと考えています。

たとえば、「ユーザーが資料請求をした」というイベントがあった際に「資料請求後に成約に至るユーザーと同じ特徴を持った人の場合は高い値を渡し、”いたずら申し込み”のような特徴を持っていれば低い値を返す」といったことなどが実現できれば、より広告効果を最適化することができます。チームの面白い点としては、各広告媒体の方々と関わりを持てることです。GoogleやMetaといった大手プラットフォームの方々とも密に連携して、一緒に新しいことに取り組んでいけるのは、貴重な機会ですね。

――3rd Party Cookieの規制が進んで、1st Party Dataそのものと活用の重要性が増す動きは今後も加速することが予想されるなかで、KARTE Signalsを開発・提供していくことに、どのような意義を感じていますか?

武石:1st Party Dataを使うこと事態は決して悪いことではなく、エンドユーザーへの許諾をとり、適切なポリシーに準拠してデータを活用したりしていけば、問題の無い取り組みです。むしろ、それによってユーザー側にも良い内容の広告が表示されるという利点があります。

私たちはKARTE Signalsというプロダクトを通じて、「守るべきものをしっかり守れば、1st Party Dataを使って良いんだよ」ということ自体を啓蒙していくのも、大事なポイントだと思っています。

山内:もし逆に個人情報を広告に全く活用しなければどうなるかというと、効果を出すためには過激な内容の広告などで不必要に注目を集めるアプローチが加速する可能性があります。1st Party Dataを活用することで、よりユーザーの属性や行動を汲み取った広告という手段を用いてエンドユーザーに会社やプロダクトのことを有益な情報として届けることができる世界を実現できます。

北村:Webやアプリを頻繁に使う人ほど、インターネット広告における良くない体験を重ねて、広告に対して良いイメージを持っていない人もいると思いますが、KARTE Signalsを通じてそれを変えていくチャレンジができることは、社会に提供できる価値の大きさとしても面白い仕事だと思います。

――今後のフェーズのKARTE Signalsに携わるやりがいを教えてください。

武石:KARTE SignalsはProblem Solution Fitを実現できており、Solution Product Fitに向かっている状況です。グロースをしていくにあたって、やっとジャンプが目指せる状況になりました。この環境のなかで、誰か特定の人だけが「これを作ろう」という案を出しているわけではなくて、BizもDevもみんなが意見を出しながらプロダクトの方向性を決めています。個々人の裁量が大きく、主体的に仕事を進められるフェーズになっています。

これがGeneral Availableの状態になると、なかなか工夫の余地が無くなってくると思います。今のフェーズであれば、各々が自分なりのアイデアを組み込んでいける余地があると思っていますね。

山内:KARTE Signalsはこれまで、プロダクトの方向性について暗中模索している時期が長かったんですが、ようやくお客さまから具体的で、かつ前向きなフィードバックをいただける状況になってきました。お客さまの声を聞きつつプロダクトを改善していける、すごくやりがいの大きいフェーズです。

北村:あと、BizとDevの距離が近いですよね。BizとDevのメンバーが一緒にランチをしたり、お互いについて知るためのミーティングをしたりと、情報交換の場を作ることで関係性を良くしてきたのかなと思います。

たとえば世間的にありがちな例として「Biz側からプロダクト側にフィードバックするけれど一向に改善されない」といった事態を聞くこともありますが、KARTE Signalsではフィードバックを受けてスピーディに開発し、機能に反映していくことができています。だからこそ、お互いに意見を言いやすい状況が作れているんだと思いますし、今後も大切にしていきたい部分です。

武石:KARTE SignalsチームのBizサイドのメンバーは、イシューを報告する際にも情報をきちんと整理したうえで「何に困っていて、どういうものがほしい」と詳細に言語化してくれるんですよね。それも含めて、意思疎通のしやすさが生まれているんだと思います。

総じて、チームビルディングのための取り組みはかなり意識的にやってきましたね。人と人との関係性を良くするには単純接触効果が基本なので、接点をどれだけ増やせるかと、接しているときのコミュニケーションの密度をどこまで高められるかが重要になってきます。それらをどう改善できるかは、普段からかなり意識してやっています。

山内:プレイドの開発職は基本的にリモートワークなのですが、このチームでは週に1回の出社日を決めていて、なるべくその日に対面でのミーティングをしています。他にも、月に1回はミーティング後にみんなで一緒にご飯を食べたり、お酒を飲みに行ったりもしています。

武石:世の中の動きを鑑みても、今後ますます意義を感じてもらえる領域だと思うので、組織の状態や風通しを健全に保ちながら、加速度的にプロダクトと提供できる価値を大きくしていきたいですね。

みんなにも読んでほしいですか?

オススメした記事はフォロワーのタイムラインに表示されます!