3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

アイスタイルAdvent Calendar 2023

Day 22

カスタムJavaScriptを書いて学んだこと

Last updated at Posted at 2023-12-19

概要

はじめまして、今年6月からistyleの仲間入りをしました杉本です。
GoogleTagManagerやGoogleAnalytics4初心者、そして言語についても絶賛勉強中の超初心者目線でブログを書いていきたいと思います。

まずはじめに

GoogleTagManager(以降、GTM)のカスタムJavaScript(以降、カスタムJS)とは?

任意の設定で定義する変数というものがいくつか存在するうちのひとつで、JavaScript処理を行い、その結果を取得するものとなります。

使い方

カスタムJSは値を返す匿名関数の形式をとる必要があるので、JavaScriptの記述は必ず「function () {」で始まり「}」で終わる形にして、「return 〇〇」という形で返す必要があります。

例)100という値を返したいとき

function() {
 return 100;
 }

活用例

例)あるページにてどのナビゲーションボタンをクリックしたのかを取得する変数

function() {
 var gtmClickUrl = {{Click URL}};

 if (gtmClickUrl.includes('category_all.php')) { 
  return 'category';
 } else if (gtmClickUrl.includes('brand/list.php')) {
  return 'brand';
 } else {;} 
}

▲上記のコードは、
(‘ ’)で囲まれた文字列を含んだURLをクリックした場合、’ ’で囲まれた値を返すという内容になっています。

2行目の var gtmClickUrl = {{Click URL}}についてはクリックしたURLを指しているのですが、他にも閲覧したページを{{Page URL}}、クリックしたテキストを{{Click Text}}というように組み込み変数(あらかじめGTM上で登録してある変数)を利用して簡単に定義することができます。

上記のカスタムJSを書いた変数を下記のようにGTMでイベントパラメータの値として設定することで、returnで返ってきた値をイベントパラメータ値として取得することができます。

blog.PNG

気を付ける点

私がカスタムJSを書くうえで特にレビューで指摘をいただいた点をまとめました。

①変数名のつけ方
 ・読み手が誤解しない名前を付けよう
 ・変数名に情報を入れ込もう
  例)
   限界値 → max min
   範囲指定 → first last / bigin end
   論理値 → is has can shoud

②コードが冗長になってしまう
 ・DRY原則(同じロジックを複数箇所に書かない)を意識しよう

どの言語でも言えることかもしれませんが、以上が初心者なりの気を付けるべきポイントでした。

これからもたくさんのコードを書き知識を増やしていって、ブログの内容も充実させていきたいと思います!

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?