広告グループの粒度を出したら、指標が丸ごと欠けていた
予報は晴れのち夜くもり、降水確率10%。実際も雨は降らず、日照は8時間を超えた。
着地を分けたのに、分けた単位が見えていなかった
着地ページの品質が平均より下のまま17日続いている、というのがずっと残っていた。着地を分けたA/Bはやってあるのに、どちらがどうなのかが判断できない。原因は単純で、集計がキャンペーンの粒度で止まっていて、着地を分けた単位——広告グループ——がそもそも画面に出ていなかった。
まず広告グループの粒度を出し、「なぜ出られなかったか」も並べた。配信量を増やせるかどうかは、そこを見ないと決められない。
ところが出してみたら、広告グループの表示シェアが丸ごと空だった。取り方が悪いのではなく、予算による損失という指標が広告グループには存在しない。キャンペーン向けに書いた取得をそのまま流用していたので、無い列を読んで全部落ちていた。
数え方が3か所で間違っていた
「ランク損失が高いなら語を足しても無駄」という前提で足切りしていたが、これが間違っていた。損失の割合が高くても、機会の総量が大きければ拾える分は残る。割合ではなく総量を出すように変えた。
次に、「出ていない語」の一覧に除外キーワードが混ざっていた。除外した語が「まだ出せていない語」として毎回出てくる。同じ型の間違いがもう一つ残っていて、そもそも出せない語も「出ていない語」に数えていた。
もう一つ、管理画面から手で入れた語の追加日が取れていなかった。変更履歴の値が引用符付きで入っていたためで、日付として読めていなかった。入れたばかりの語と、入れたのに出ていない語は別物なので、ここを分けた。
除外が片方にしか入っていなかった
除外キーワードを、片方の広告グループにしか入れていなかった。除外はキャンペーンに入れるものなので、もう一方の広告グループでは効いていない。入れ先を直した。
当たり方も見直した。除外は語の単位で当たるのであって、部分文字列では当たらない。合わせて、除外した語を自動反映がまた買いに行かないようにした。自動反映の入れ先も、語ごとに広告グループへ振り分ける形に変えている。
止まったことを誰も言わなかった
データの写しが止まっていたのに、それを言う者がいなかった。毎時レポートと、外部の困りごとの観測が対象。止まったこと自体を言わせるようにした。
サーバーで認証情報を読ませる案内も直した。手順の中で包み忘れると効かない形だったので、包み忘れの起きない systemd-run に寄せた。ついでに、逃げ道の違う2つの失敗を同じ扱いにしていたのを分けて書いた。最後に、案内文と実際のスクリプトが同じ事故について違うことを言っているのを見つけて、揃えた。