web-dev-qa-db-ja.com

GoogleアナリティクスモジュールとTPLファイルへの直接コード挿入

Googleアナリティクスモジュールをインストールするか、GAコードをpage.tplファイルに追加しますか?

2
Vox

スニペットをpage.tpl.phpファイルに配置する場合は問題ありません。基本的には、Google Analyticsモジュールの条件付きスニペット機能が役立ちます。

スニペットをpage.tpl.phpファイルに配置すると、

  • 管理テーマは追跡されません(通常はコアにあるセブンです-コアをハックしないでください!

  • ユーザーは追跡を選択できません(例については、drupal.orgアカウントの編集ページを参照してください)。これは、ブラウザのDo Not Track(DNT)ヘッダーとは無関係です。

  • カスタム変数を追跡するのは難しいでしょう。

  • イベント(ダウンロードなど)を追跡するのは難しいでしょう。ただし、変更された静的スニペットを配置すると、Googleアナリティクスモジュールからの場合と同じように機能します。 GAモジュールを使用してメッセージ(_$messages_)を追跡することもできます。

  • コードを追加するには、すべてのpage.tpl.phpバリアントを編集する必要があります。

  • 他のモジュールはスニペットを制御できなくなります。 js_altersとは互換性がありません。

  • 内部検索を追跡するのは難しいでしょう。

  • 通常は追跡する必要のない、管理者ロールを含むすべてのユーザー。

  • コードをローカルにキャッシュします。

私の意見では(そしていくつかの小さなホームテスト)、ローカルでコードをキャッシュすることは良い考えではありません。 GAサービスは非常に人気があるため、ga.jsのローカルにキャッシュされたバージョンを使用する可能性は非常に高いです。キャッシュする場合、ブラウザーはサーバーから同じコードをダウンロードする必要があります(ただし、 AdBlockプラグインを使用してga.jsをブロックしたユーザーを追跡できます)。

私が長期的に維持しているサイトの場合、スニペットを直接(page.tpl.phpまたはhtml.tpl.phpで)使用しても問題ありません。多くのサイトでは、A/Bテスト、目標の追跡、カスタム変数、その他の口笛は必要ありません。明示的にnode_load()user_load()user_access()、または他の関数を呼び出す場合、それはGA =社内コーディングの代わりにモジュール。

7
AyeshK

モジュールを使用しないことは問題ありませんが、これを行う正しい方法は、トラッキングコードをjsファイルに入れて drupal_add_js() またはさらに良い、 drupal_add_library() 。このようにして、コードをキャッシュでき、各ページで再ロードされません。

0
energee

この決定を行う場合、 http://drupal.org/node/1788586http://productforums.google.com/forum/#!を確認することをお勧めします。 category-topic/analytics/report-bugs/djSplZp1Crg 。これは、google_analyticsモジュールがjsをGoogleが要求する(奇数)場所に配置できないためです。これはdrupal_add_jsの制限事項であるため、独自のdrupal_add_jsを呼び出して独自のバージョンのgaモジュールを作成することはできません。 gaには回避策があることに注意してください。コードをページの一番最後(Googleの以前の場所)に配置すると、Googleがそれを取得します。この回避策を見つける前に、必要なJavascriptをテーマテンプレートファイルに貼り付けただけで、それはかなりうまくいきました。

0
greg_1_anderson