前提・実現したいこと
Googleのパラメータで値を取得するのにアナリティクスでできるかについて検証していたところ、パラメータは送信できても一部のパラメータだけ取得できないといった状態になりました。
内容はパラメータを4つ設定して、それをサイト内検索の画面で集計したいというものです。
組み合わせは考えておらず、4つのパラメータを同時に取得することが出来る状態を作りたいです。
該当のソースコード
HTML
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 2 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3<html> 4<head> 5 6 <meta charset="utf-8"> 7 <title>Document02</title> 8 <script src="https://code.jquery.com/jquery-3.0.0.min.js"></script> 9 <!-- Global site tag (gtag.js) - Google Analytics --> 10 <script async src="https://www.googletagmanager.com/gtag/js?id=アナリティクスID"></script> 11 <script> 12 window.dataLayer = window.dataLayer || []; 13 function gtag(){dataLayer.push(arguments);} 14 gtag('js', new Date()); 15 16 gtag('config', 'アナリティクスID'); 17 </script> 18 19 <script type="text/javascript"> 20 21 function onClick(){ 22 //最終的なソースコードを設定 23 var flag_code; 24 //カテゴリ1の検出内容を設定. 25 //必要な配列を設定. 26 var arr1 = new Array; 27 var flag_code1; 28 //valueの値を取得する. 29 for (let i = 0; i < flag_box1.length; i++){ 30 if(flag_box1[i].checked){ //(flag_code1[i].checked === true)と同じ 31 flag_code1 = arr1.push(flag_box1[i].value); 32 console.log('チェックボックスのチェック確認1'); 33 console.log(arr1); 34 } 35 } 36 //配列に値が入っているのかどうか確認する. 37 if(arr1){ 38 flag_code1 = 'flag_sample1='+arr1; 39 console.log(flag_code1); 40 } 41 42 //ここでカテゴリ2の検出内容を設定する. 43 var arr2 = new Array; 44 var flag_code2; 45 //ここでvalueの値を取得する. 46 for (let i = 0; i < flag_box1.length; i++){ 47 if(flag_box2[i].checked){ //(flag_code2[i].checked === true)と同じ 48 flag_code2 = arr2.push(flag_box2[i].value); 49 console.log('チェックボックスのチェック確認2'); 50 console.log(arr2); 51 } 52 } 53 //配列に値が入っているのかどうか確認する. 54 if(arr2){ 55 flag_code2 = 'flag_sample2='+arr2; 56 } 57 58 59 //ここでカテゴリ3の検出内容を設定する. 60 var arr3 = new Array; 61 var flag_code3; 62 //ここでvalueの値を取得する. 63 for (let i = 0; i < flag_box3.length; i++){ 64 if(flag_box3[i].checked){ //(flag_code2[i].checked === true)と同じ 65 flag_code3 = arr3.push(flag_box3[i].value); 66 console.log('チェックボックスのチェック確認3'); 67 console.log(arr3); 68 } 69 } 70 //配列に値が入っているのかどうか確認する. 71 if(arr3){ 72 flag_code3 = 'flag_sample3='+arr3; 73 } 74 75 76 //ここでカテゴリ4の検出内容を設定する. 77 var arr4 = new Array; 78 var flag_code4; 79 //ここでvalueの値を取得する. 80 for (let i = 0; i < flag_box4.length; i++){ 81 if(flag_box4[i].checked){ //(flag_code1[i].checked === true)と同じ 82 flag_code4 = arr4.push(flag_box4[i].value); 83 console.log('チェックボックスのチェック確認4'); 84 console.log(arr4); 85 } 86 } 87 //配列に値が入っているのかどうか確認する. 88 if(arr4){ 89 flag_code4 = 'flag_sample4='+arr4; 90 } 91 92 //配列がどれか1つにでも格納されているかチェックする. 93 if(flag_code1){ 94 flag_code = '?'; 95 }else if (flag_code2) { 96 flag_code = '?'; 97 }else if (flag_code3) { 98 flag_code = '?'; 99 }else if (flag_code4) { 100 flag_code = '?'; 101 } 102 103 //これでリンクを飛ばす. 104 location.href = flag_code + flag_code1 + '&' + flag_code2 + '&' + flag_code3 + '&' + flag_code4; 105 console.log(flag_code + flag_code1 + '&' + flag_code2 + '&' + flag_code3 + '&' + flag_code4); 106 } 107 108 </script> 109</head> 110 111 <body> 112 <h1>GA同期検証</h1> 113 <h2>使用用途</h2> 114 <form name="flag_box1"> 115 <input type="checkbox" name="use_category" id="自動車" value="自動車"> 自動車 116 <input type="checkbox" name="use_category" id="飛行機" value="飛行機"> 飛行機 117 <input type="checkbox" name="use_category" id="ロケット" value="ロケット"> ロケット 118 </form> 119 120 <h2>メーカー</h2> 121 <form name="flag_box2"> 122 <input type="checkbox" name="maker_category" id="A社" value="A社"> A社 123 <input type="checkbox" name="maker_category" id="B社" value="B社"> B社 124 <input type="checkbox" name="maker_category" id="C社" value="C社"> C社 125 <input type="checkbox" name="maker_category" id="D社" value="D社"> D社 126 </form> 127 128 <h2>値段</h2> 129 <form name="flag_box3"> 130 <input type="checkbox" name="cost_category" id="梅" value="梅"> 梅 131 <input type="checkbox" name="cost_category" id="竹" value="竹"> 竹 132 <input type="checkbox" name="cost_category" id="松" value="松"> 松 133 </form> 134 135 <h2>部品</h2> 136 <form name="flag_box4"> 137 <input type="checkbox" name="parts_category" id="ネジ" value="ネジ"> ネジ 138 <input type="checkbox" name="parts_category" id="ボルト" value="ボルト"> ボルト 139 <input type="checkbox" name="parts_category" id="ナット" value="ナット"> ナット 140 </form> 141 142 <input type="button" value="送信" onClick="onClick();"> 143 144 </body> 145</html> 146
試したこと
要素を4つではなく少なくして検出できるかについて試したところ、2つ同時に飛ばすことは出来ました。
(ソース自体は3つ目と4つ目をコメントアウトしただけです。)
補足情報(FW/ツールのバージョンなど)
アップロードサーバ:さくらVPS
編集ツール:Atom