コラム
2022/09/30

Drupal のコンテンツの Updated の値の注意点 Google Analytics、GTM の設定と動作確認について

  • CMS

①コンテンツの Updated は、コンテンツが更新された日時ではない?

Drupal のコンテンツの Updated の値の注意点 Google Analytics、GTM の設定と動作確認について 日次の保守作業にて、前回作業後に公開されたコンテンツを対象に、作業を行う事を実施している。
方法としては、drupalの標準機能としてあるコンテンツ一覧で、updated を降順で表示し、updated が前回作業日時以降のコンテンツを対象にする方法をとっていたが、前回の対象範囲内に、前回作業した時には無かったコンテンツが表示されている事が分かった。

調査した結果、スケジュール機能を使用して再公開した場合に発生すると分かった。
コンテンツ一覧の updated には、公開のスケジュールを設定してコンテンツを保存した時のシステム日時が表示されていた。

システム日時 状態 updatedの値
10/10 10時 10/11 15時に再公開する様に設定し、状態:下書きなどで保存 変わらない(公開済みの場合、公開、公開終了にした時のみ変わる)
10/11 15時 状態:公開 に変わる 10/10 10時となる

またコンテンツ編集ページにある リビジョンという機能にて、このコンテンツが変更された履歴が表示できるが、この時の日時もスケジュールに設定した再公開の日時ではなく、保存作業を行った時のシステム日時が表示される

リビジョンについては、プログラムから node に対し、リクエストを発行して、コンテンツの値を変更する事もできるが、公開済みのコンテンツに対しリクエストで値変更を行った場合、リビジョンにその履歴が表示されないという不思議な現象も発生している。updated の値は更新されるので、updated と リビジョンの最後の日時が合わない状態となる。

コンテンツ一覧
Drupal のコンテンツの Updated の値の注意点 Google Analytics、GTM の設定と動作確認について-2

②Updated を使用した運用への影響

上記の様に、Updated の値の範囲で作業を行う場合は影響が出てしまう。
スケジュールで指定できる未来日を制限したり、可能であればスケジュールの日付にチェック処理を入れて、1、2日程度の未来日までしか指定できないようにし、Updated を使った運用では、調べる範囲をその分広くする事で回避は可能であるが、一度処理を行ったコンテンツも再度対象となるので、これまで以上に作業時間がかかってしまう欠点が生じてしまう。

またはコンテンツに新しい日時フィールドを追加し、コンテンツが保存される時のフック処理で、このフィールドの値をシステム日時に更新する様にして、このフィールドの値の範囲で保守作業を行う。
ただし、コンテンツの保存する処理パターン全てに対し、フック処理が動くかは不明な為、想定される保存処理全てで確認しておく必要がある。

③Google Analytics の今回設定した内容

目標というのを設定しましたので、内容について記述します。
目標はあるページを表示した件数や、そのページに到達するまでのページを指定する事で、どのページで途中で遷移を止めたのかなど確認できるようになります。
入力ページ→確認ページ→完了ページ など遷移する処理でよく使われるものとなります。
目標ページが、完了ページとなり、到達するまでのページが、入力、確認ページ を指定する事で、入力ページから確認ページに遷移した件数や割合、また入力ページから確認ページ以外にどのURLへ遷移したかなどが確認できます。

目標で確認できる内容の一部

④GTM(googleタグマネージャー) の今回設定した内容

上記の ga の設定で、入力ページと確認ページのURLが同じであり、このままでは目標の設定で、入力、確認ページを別々に設定できない事が判明したので、GTMの設定で、仮想ページビュー(ga 側に別のURLとして渡るようにする)となるように設定しました。

設定内容は、

トリガー: 条件に合った時に動く設定で、URLと、表示されたページ内でユニークとなる文言を条件に設定
(ページ内の titleや、タグ内に、「入力」「確認」などそれぞれのページのみにある文言)
タグ: ga に渡す値などを設定で、ga に渡る URL を記述し、上記のトリガーを指定

この設定で、ga 側は入力ページ、確認ページは別URLが渡る為、目標設定で別々に指定可能となりました。

他に、ga からアクセスログを出力しているが、アクセスログに個人情報が含まれてしまうページが存在しており、管理者しか使用しないページなどであった為、そのページ自体を ga に渡らない様に設定しました。

設定内容は、

トリガー: 条件に合った時に動く設定で、個人情報が出てしまうページの URL を設定(一部以外は値が変わるので、正規表現や含むなどを使用)
タグ: ga に渡す値などを設定で、ga にURLを渡しているタグの例外に、上記トリガーを設定

例外に設定する事で、この状態にあった場合は、動かないという事になります。

⑤Google Analytics で動作確認をする時の注意点

ga や GTM の設定を行って、すぐに ga の目標、リアルタイムなどで確認を行うと、うまく表示されない。

目標について

それぞれの遷移したページの件数が合わない
別のページに遷移した時のURLが、遷移元のURLとなって表示される

リアルタイムについて

仮想ページビューで変えた元のURLや、ga対象外にしたURLが、アクティブユーザー に表示されるが、ページビュー数(直前の30分前) の方でも、変えた方のURLが表示され、ga対象外にしたURLは表示されない

設定変更しても、すぐに確認できず、翌日以降に正常に表示されるので、動作確認が終わるまで時間を要してしまう。

※目標の別のページに遷移した時のURLが、遷移元のURLとなって表示されるは、解消されないパターンもある

⑥Google Analytics の今後の動作確認方法について

動作確認に時間が要する状態の為、色々な調整が必要になっています。
今後もよい方法がないか調査をしていきます。

WEBSASくん