ロコガイド テックブログ

「地域のくらしを、かしこく、たのしく」する、株式会社ロコガイドの社員がいろいろな記事を書いています。

「地域のくらしを、かしこく、たのしく」する、株式会社ロコガイドの社員がいろいろな記事を書いています。

「広告基盤刷新プロジェクト」はじめました

f:id:jun-okada:20201124222451p:plain

この記事はロコガイド Advent Calendar 2020の11日目です。

バックエンドエンジニアの岡田です。

「広告基盤刷新プロジェクト」は、今年の秋から始まったプロジェクトで、
目的を簡単に言うと「純広告の運用やシステムに関わる課題を解決しよう」です。

例えばネイティブ広告の配信基盤をGo言語に書き換えるなど、
大きく分けて4つほどフェーズがあるのですが、
今回は「バナー広告に関する運用・システム改善」という直近行うフェーズについて
きっかけと、実際に何を行う予定なのかを書きたいと思います。

弊社のバナー広告システムについて

多くの企業と同じように、
弊社でもバナー広告の配信ツールは、Google Ad Manager(以下「GAM」)を利用しています。
しかし、ターゲティングと各広告枠にどのユニットを配信するかの制御は独自システムで行っています。

独自システムを利用している主な理由は、
弊社のバナー広告商品が、ページ内の全広告枠をジャックする商品(以下「ジャック配信」)であり、
この配信方法はGAMでは行えないためです。

例えば、ページ内に3つの広告枠があり、
ターゲティングに合致したユーザーには、
ページ内の全枠に同じカスタマーの広告を配信します。

また、特定ターゲティング条件への広告配信を期間独占で配信しています。(以下「期間独占配信」)

今フェーズのきっかけ

今プロジェクトが始まり、課題をヒヤリングし、
緊急度が高い課題としてこれらがありました。

  1. ジャック配信ではなく、一部の広告枠へ配信したい
  2. 期間独占配信ではなく、配信量を制御して配信したい
  3. 在庫管理をシステムで行いたい

今まではジャック配信や期間独占配信のみだったこともあり、独自システムの機能は少なくても事足りていたのですが、
カスタマーニーズの変化により、機能拡張が必要になりました。

各課題の詳細は下記で説明します。

課題1. ジャック配信ではなく、一部の広告枠へ配信したい

ページの全枠をジャックするのではなく、一部の広告枠へのみ配信したいというニーズです。(以下「バラ配信」)

これまでも独自システムへの入稿を工夫することで対応できましたが、
ジャック配信を前提としたシステムのため、通常より多くの入稿工数がかかるという課題がありました。

課題2. 期間独占配信ではなく、配信量を制御して配信したい

例えば、1日のimp上限を設定し、配信したいというニーズです。
いわゆる、imp売りです。

この場合、複数のカスタマーがそれぞれimp上限を設定し、
1つの広告枠に配信できますが、
広告枠の1日のimp数の見積もり精度が低いと、
imp上限を達成できない案件が発生してしまいます。

今までは、期間独占配信を前提としていたので、
PV数から概算した見積もりで問題ありませんでしたが、
imp売りをするには精度があまり高くないという課題がありました。

課題3. 在庫管理をシステムで行いたい

課題2と同じくimp売りでの課題です。

今までは特定のターゲティング条件で期間独占配信をしていたので、
在庫管理としては、「どのようなターゲティング条件」で「どのくらいの期間」配信するかがわかれば十分でした。
そのため、手動で在庫管理を行っていました。

しかし、imp売りの場合、特定のターゲティング条件で複数の案件が配信されるため、
手動での在庫管理では売り越しを防ぐことが難しいという課題がありました。

どうやって課題を解決するか

まだ計画段階であり、変わることもあるかと思いますが、
各課題に対して解決案を考えました。

独自システムの利用をやめる

「課題1. ジャック配信ではなく、一部の広告枠へ配信したい」の解決方法として考えたのは、下記の2つです。

  • 独自システムを、ジャック配信だけでなく、バラ配信もできるように拡張する
  • 独自システムの利用をやめ、GAMのみでバナー広告のターゲティング・配信する

今回は「餅は餅屋」ということで、後者を選択しました。

本来、バラ配信はGAMの機能で可能なため、仮に前者を選択した場合、同様の機能を自前で実装する必要がでてきます。

一方で、後者を選択すると、
GAMにはジャック配信の機能がないため、これが行えなくなるというデメリットがあります。

しかし、今後もカスタマーニーズの変化に応えるために、
バナー広告の商品要件が増えていくことは、容易に想像できます。
ジャック配信のためだけに、
GAMにある機能を独自システムに拡張し続けるのは、
コストパフォーマンスが悪いと考え、
独自システムの利用をやめる決断をしました。

精度の高い見積もり機能を作成する

「課題2. 期間独占配信ではなく、配信量を制御して配信したい」の解決方法として、
「精度の高い見積もり機能」が必要になりました。

今までは、ページのPV数からスクロール比率などを考慮して概算していましたが、
広告枠のimpログを集計して算出する方法に変更することにしました。

これにより実績値に近い数値で見積もりできるようになると考えています。

在庫管理システムを作成する

「課題3. 在庫管理をシステムで行いたい」の解決方法として、
売り越しを防ぐために、
現状手動で行っている在庫管理をシステムで行うことにしました。

まず、前述した見積もり機能を使い、自動で広告枠毎の在庫量を算出しておきます。
そして、受注した案件を在庫管理システムに入稿すると、
該当の広告枠在庫量から、案件分のimpが引かれるという仕組みです。

このようにシステムで在庫管理を行うことで売り越しを防いだり、
期間ごとの在庫量や条件を変えたときの在庫量の違いを把握できたりすることで、
カスタマーの配信ニーズと在庫量の調整を容易に行えると考えています。

最後に

今後のフェーズについても、
テックブログを書きたいと思っているので、
ぜひ楽しみにしていてください。