AppBrew Tech Blog

AppBrewのエンジニアチームの日々です

文系非開発職でもできる!GAS&Zapierを使ったSEO分析の民主化

f:id:abeshiiiii:20191016000748p:plain

Webディレクターの @abeshi です。普段はLIPSのWeb版のSEOに関すること何でも&たまにコミュニティマネージャー業をやっております。

この記事では、SEO初心者さんの分析ハードルを低くするためにやったことをご紹介します。

突然ですが、弊社AppBrewはエンジニアから営業まで数値に基づいた決定をすることを求められます。非開発職でも数字と仲良くなることで仮説→検証の精度を高くし、誰もがスピーディに意思決定できる環境が整えられています。

とは言え、初心者にとってGoogle Analyticsやサーチコンソールを毎日自発的に確認することはハードルが高いと思います。無理に数字に触れてもらって本来集中するべき仕事の時間が疎かになれば元も子もありません。

今回は、SEO初心者の分析ハードルを低くするために行った

  • ライターさんごとに執筆した記事の数値を分報に流す✏️
  • 記事URLを投げるとサーチコンソールが返ってくるbotを作る🤖

この二つ✌️の施策を紹介します。

課題:初心者ライターさんにとって数値確認のハードルが高い

f:id:abeshiiiii:20191010001112p:plain

SEO施策の一環として、コスメに関するクエリでの検索ユーザーが満足する記事をライターさんに書いていただいています。もちろん書いた後に数字の進捗を追い、なぜその数字が発生しているのか調査し、改善に繫げることが理想です。

しかし

「Google Analyticsとサーチコンソールを見て調査してね!」

と言っても初心者ライターさんがツールを使いこなすまで時間がかかりますし、毎日ツールを見るのは億劫です。ヒアリングしたところ

  • 「受動的に数値を見たい」
  • 「よく使う分析ツールに簡単にアクセスしたい」

を叶えるとライターの負担が減りそうなことがわかりました。

解決策①:ライターごとに執筆した記事の数値をslackに流す✏️

f:id:abeshiiiii:20191010001919p:plain

わざわざツールやシートを見ず受動的に数値を確認できるよう、ライターさん個人の分報にライターさんが書いた記事だけの数値を週1回流れるようにしました。また、数値をただ流しても気づきは得られにくいので、先週vs先々週の数字の差分も一緒に出すことで流入数の変化を可視化させることにしました。

やったこと🔥

  • Google Tag Manegerを使ってGoogle Analyticsのカスタムディメンションに作者idを入れる
  • スプレッドシートにGoogle Analyticsのアドオンを使ってpagepath、記事タイトル、 先週と先々週の流入数、その差分を流す
  • WebHookを使ってslackのライター分報チャンネルに週1で数値を流す 

方法🗒

1.作者idのカスタムディメンションを定義する

作者情報はGoogle アナリティクスでデフォルトのディメンションに含まれていないので、個別に設定します。今回は下記の「データレイヤーからカスタム ディメンション値を設定する」の通り、データレイヤー変数とタグマネージャーを使って設定しました。 

Google アナリティクスのカスタム ディメンション - タグマネージャ ヘルプ

2.Google Analyticsのアドオンを使って、スプレッドシートにデータを吐き出す

スプレッドシートにGoogleAnalyticsのアドオンを入れて、下記のような設定をしてレポートを二つ出力します。

f:id:abeshiiiii:20191015221256p:plain

「森田くん(弊社の優秀なインターンです♡)の書いた記事(先週)」では

  • 過去7日間の期間で(StartDate&EndDate)
  • 森田くんが執筆した記事の(Filters)
  • 検索流入を(Metrics)
  • pagePathとpageTitleを(Dimensions)
  • 検索流入数降順で (Order)

と設定しました。2の方は差分を出す用に8-14日前の数字を出してます。

アドオン>Google Analytics>Run reports を押し出力すると、二つのシートが出力されます。

f:id:abeshiiiii:20191009211214p:plain

※数字はダミーです
3.関数を使ってシートを成型

次に、現在二つ存在するシートを一つにまとめ、slackに流したい数字に成型します。もうほぼゴールです🥳

f:id:abeshiiiii:20191015220752p:plain

4.GAS&WebHookを使って、ライター分報に必要な数値を定期的に流す

次に、成型したシートの情報をslackで流します。使うものはIncoming WebHooksGoogle Apps Script (GAS) 。WebHookの連携の仕方は割愛します。


WebHookのURLを取得した後、ツール>スクリプトエディタ を開きコードを記入します。

f:id:abeshiiiii:20191015221059p:plain
コードを書く際は、こちらの記事を大変参考にさせていただきました。

GASでスプレッドシートの内容をSlackに投稿 - Qiita

また今回は月曜日に週1でslackにpostしたいので、アドオン>Google analytics>Schedule Reports から数値更新頻度を設定➡︎スクリプトedit画面>現在のプロジェクトのトリガーでシートが変更時にslackにpostするよ、と設定します。

5.slackに数値が流れる!

f:id:abeshiiiii:20191009222403p:plain

無事、月曜日に週1でライター分報に自分の書いた記事の数値が流れるようになりました🙌

次に「よく使う分析ツールにアクセスするのが億劫」問題を解決する方法を紹介します。

解決策②:記事URLを投げるとサーチコンソールが返すbotを作る🤖

f:id:abeshiiiii:20191010002242p:plain

解決策①で自分が書いた記事の流入数を大体把握できるようになりました。

次に、流入数に変化があった記事について詳しい流入クエリや順位の分析をしてもらいます。...ここで問題になるのがサーチコンソールのハードルの高さ。とにかく重いし、確認すべきポイントも初心者にとってはわかりづらいです。

そこで数字を見たい記事をslackに投げれば見るべき指標が既に絞り込まれたサーチコンソールURLが返ってくるbotを作りました。

やったこと🔥

  • Zapier(ザピエル)を導入!
  • slackに特定の文字列+記事URLが書き込まれたらサーチコンソールURLが生成されて返ってくる自動化アプリを作成

方法🗒

1.Zapierとslackを連携する

f:id:abeshiiiii:20191009001537p:plain

連携方法はとっても簡単。slackと紐づいたGoogleアカウントでログイン→slackを選択するだけです。

2.トリガー設定

f:id:abeshiiiii:20191009001933p:plain

「新しいメッセージがpostされたら特定のメッセージを送ってほしい」が今回の一連の流れですので、トリガーは「New Message Posted to Channel in Slack」です。

3.特定ワードにだけ反応するよう設定(Filter)

f:id:abeshiiiii:20191009002111p:plain

記事URLがslackにpostされるなんて日常茶飯事。意図せずbotに反応されたらうざいし邪魔ですよね。なので特定の言葉にだけ反応するようフィルタをかけます。

今回は「幸子」を含むメッセージの中に記事URLが入っている場合にbotに反応してもらうよう指示しました。幸子....つまりサーチコンソールです。

4.URLだけを抜き出す(Extract URL)

f:id:abeshiiiii:20191009231216p:plain

サーチコンソールURLへ書き直すためURLだけを抜き出して...

5.サーチコンソールのURL生成(Replace)

f:id:abeshiiiii:20191009231258p:plain

https://lipscosme.com/articles/」を探して

https://search.google.com/search-console/performance/search-analytics?resource_id=https://lipscosme.com/&hl=ja&page=*articles/」に変換してね!と指示します。

6.URL末尾に期間指定のパラメータを追加

f:id:abeshiiiii:20191015230258p:plain

7.Slackに流す

f:id:abeshiiiii:20191015230501p:plain

slackにメッセージをポストすると、無事botが反応してくれました👏

botは楽しくてテンション上がる方がいいので、bot iconやBot Nameはお茶目に工夫するのがオススメです😉

最後に

私はド文系非開発職で普段コードを書いても簡単な修正くらいしかしない人間ですが、開発者ではなくてもここまでのことが簡単にできてしまいます。スプレッドシートのGoogleAnalyticsアドオンとGASとZapierを使いこなせるようになれば大抵のことは自動化できるようになるのではないでしょうか。

エンジニアにはできるだけ目の前のタスクに集中していただき、その他の細々とした数値確認の効率化は非開発職ができるようになる、が理想だと思います。

日々の数値確認の面倒臭さに悩む非開発職のあなたにこの記事を参考にしていただければ嬉しいです。(気に入っていただけましたら、はてブお願いします♡)

We are Hiring!

弊社AppBrewでは現在、400万DL突破のコスメクチコミアプリ「LIPS」をはじめとした「ユーザーが熱狂するプロダクト」を、「再現性をもって開発すること」に携わるエンジニアを積極採用中です。

目的に真摯に向き合い、技術でそれを解決したいと思うエンジニアの方はぜひ一度ご応募ください!お待ちしております。

www.wantedly.com

job-draft.jp