アドビプラグイン:getQueryParam
getQueryParam
プラグインを使用すると、URL に含まれるクエリ文字列パラメーターの値を抽出できます。これは、ランディングページの URL から内部および外部の両方のキャンペーンコードを抽出する場合に役立ちます。また、検索用語や他のクエリ文字列パラメーターを抽出する場合にも役立ちます。
このプラグインは、複数のクエリ文字列パラメーターを含むハッシュや URL を含む複雑な URL を解析する際に堅牢な機能を提供します。単純なクエリ文字列パラメーターのみが必要な場合、Adobeでは、Web SDK、Adobe Analytics拡張機能を使用した URL パラメーター機能、またはAppMeasurementに含まれる Util.getQueryParam()
メソッドの使用をお勧めします。
Web SDK 拡張機能を使用したプラグインのインストール
Adobeでは、Web SDK で最も一般的に使用されるプラグインを使用できる拡張機能を提供しています。
-
Adobe ID 資格情報を使用して、Adobe Experience Platform Data Collection にログインします。
-
左側の タグ をクリックしてから、目的のタグプロパティをクリックします。
-
左側の 拡張機能 をクリックしてから、「カタログ」タブをクリックします
-
Common Web SDK Plugins 拡張機能を見つけてインストールします。
-
左側の データ要素 をクリックしてから、目的のデータ要素をクリックします。
-
次の設定で、目的のデータ要素名を設定します。
- 拡張機能:Common Web SDK Plugins
- データ要素:
getQueryParam
-
必要なパラメーターを右側に設定します。
-
変更を保存してデータ要素に公開します。
Web SDK を手動で実装するプラグインのインストール
このプラグインは、Web SDK の手動実装内での使用はまだサポートされていません。
Adobe Analytics拡張機能を使用してプラグインをインストールします
Adobeでは、Adobe Analyticsで最も一般的に使用されるプラグインを使用できる拡張機能を提供しています。
-
Adobe ID 資格情報を使用して、Adobe Experience Platform Data Collection にログインします。
-
目的のタグプロパティをクリックします。
-
「拡張機能」タブに移動し、「カタログ」ボタンをクリックします。
-
Common Analytics Plugins 拡張機能をインストールして公開します。
-
まだ「Initialize Plug-ins」というルールを作成していない場合は、次の設定を使用してルールを作成します。
- Condition:なし
- Events:Core – 読み込まれたライブラリ(ページ上部)
-
次の設定を使用して、上記のルールにアクションを追加します。
- Extension:Common Analytics Plugins
- Action Type:Initialize getQueryParam
-
ルールに対する変更を保存して発行します。
カスタムコードエディターを使用したプラグインのインストール
Common Analytics Plugins プラグイン拡張機能を使用しない場合は、カスタムコードエディターを使用できます。
- Adobe ID 資格情報を使用して、Adobe Experience Platform Data Collection にログインします。
- 目的のプロパティをクリックします。
- 「拡張機能」タブに移動し、Adobe Analytics 拡張機能の下にある「設定」ボタンをクリックします。
- 「カスタムコードを使用してトラッキングを設定」アコーディオンを展開すると、「エディターを開く」ボタンが表示されます。
- カスタムコードエディターを開き、下に示すプラグインコードを編集ウィンドウに貼り付けます。
- 変更を保存し、Analytics 拡張機能に公開します。
/******************************************* BEGIN CODE TO DEPLOY *******************************************/
/* Adobe Consulting Plugin: getQueryParam v4.0.1 */
function getQueryParam(a,d,f){function n(g,c){c=c.split("?").join("&");c=c.split("#").join("&");var e=c.indexOf("&");if(g&&(-1<e||c.indexOf("=")>e)){e=c.substring(e+1);e=e.split("&");for(var h=0,p=e.length;h<p;h++){var l=e[h].split("="),q=l[1];if(l[0].toLowerCase()===g.toLowerCase())return decodeURIComponent(q||!0)}}return""}if("-v"===a)return{plugin:"getQueryParam",version:"4.0.1"};var b=function(){if("undefined"!==typeof window.s_c_il)for(var g=0,c;g<window.s_c_il.length;g++)if(c=window.s_c_il[g],c._c&&"s_c"===c._c)return c}();"undefined"!==typeof b&&(b.contextData.getQueryParam="4.0");if(a){d=d||"";f=(f||"undefined"!==typeof b&&b.pageURL||location.href)+"";(4<d.length||-1<d.indexOf("="))&&f&&4>f.length&&(b=d,d=f,f=b);b="";for(var m=a.split(","),r=m.length,k=0;k<r;k++)a=n(m[k],f),"string"===typeof a?(a=-1<a.indexOf("#")?a.substring(0,a.indexOf("#")):a,b+=b?d+a:a):b=""===b?a:b+(d+a);return b}};
/******************************************** END CODE TO DEPLOY ********************************************/
プラグインの使用
getQueryParam
関数は次の引数を使用します。
qsp
(必須):URL 内で検索するクエリ文字列パラメーターのコンマ区切りリストです。大文字と小文字は区別されません。de
(任意):複数のクエリ文字列パラメーターが一致する場合に使用する区切り文字です。デフォルトでは空の文字列です。url
(任意):クエリ文字列パラメーターの値を抽出するカスタム URL、文字列、または変数です。デフォルト値はwindow.location
です。
この関数を呼び出すと、上記の引数と URL に応じた値が返されます。
- 一致するクエリ文字列パラメーターが見つからない場合は、空の文字列を返します。
- 一致するクエリ文字列パラメーターが見つかった場合、この関数はクエリ文字列パラメーター値を返します。
- 一致するクエリ文字列パラメーターが見つかったが値が空の場合、この関数は
true
を返します。 - 一致するクエリ文字列パラメーターが複数見つかった場合、この関数は
de
引数内の文字列で区切られた各パラメーター値を持つ文字列を返します。
例
// Given the URL https://example.com/?cid=trackingcode
// Sets the campaign variable to "trackingcode"
s.campaign = getQueryParam('cid');
// Given the URL https://example.com/?cid=trackingcode&ecid=123
// Sets the campaign variable to "trackingcode:123"
s.campaign = getQueryParam('cid,ecid',':');
// Given the URL https://example.com/?cid=trackingcode&ecid=123
// Sets the campaign variable to "trackingcode123"
s.campaign = getQueryParam('cid,ecid');
// Given the URL https://example.com/?cid=trackingcode&ecid=123#location
// Sets the campaign variable to "123"
s.campaign = getQueryParam('ecid');
// Given the URL https://example.com/#location&cid=trackingcode&ecid=123
// Sets the campaign variable to "123"
// The plug-in replaces the URL's hash character with a question mark if a question mark doesn't exist.
s.campaign = getQueryParam('ecid');
// Given the URL https://example.com
// Does not set the campaign variable to a value.
s.pageURL = "https://example.com/?cid=trackingcode";
s.campaign = getQueryParam('cid');
// Given the URL https://example.com
// Sets the campaign variable to "trackingcode"
s.pageURL = "https://example.com/?cid=trackingcode";
s.campaign = getQueryParam('cid','',s.pageURL);
// Given the URL https://example.com
// Sets eVar2 to "123|trackingcode|true|300"
s.eVar1 = "https://example.com/?cid=trackingcode&ecid=123#location&pos=300";
s.eVar2 = getQueryParam('ecid,cid,location,pos','|',s.eVar1);
バージョン履歴
4.0.1(2021 年 3 月 26 日(PT))
- クエリーパラメーターがクエリ文字列に存在しない場合、「」の代わりに undefined が返される問題を更新しました。
4.0(2021年3月19日)
- コンテキストデータとしてバージョン番号を追加しました。
pt
プラグインへの依存関係を削除しました。
3.3(2019 年 9 月 24 日(PT))
- 不要なロジックを迂回してコードサイズを縮小しました。
3.2(2018 年 5 月 15 日(PT))
findParameterValue
関数およびgetParameterValue
関数をgetQueryParam
関数内に移動しました。
3.1(2018 年 5 月 10 日(PT))
- 値のないクエリ文字列パラメーターの取得に関する問題を修正しました。
3.0(2018 年 4 月 16 日(PT))
- ポイントリリース(再コンパイル、コードサイズの縮小)。
- ヘルパー関数の名前を読みやすくするために、
findParameterValue
およびgetParameterValue
に変更しました。 - URL ハッシュに含まれるパラメーターを見つけるための引数を追加する必要がなくなりました。
2.5(2016 年 1 月 8 日(PT))
- H コードと AppMeasurement の両方と互換性があります(AppMeasurement と
s.pt
が必要です)。
2.4
h
パラメーターを追加し、ハッシュ文字(#
)の後に見つかったクエリ文字列パラメーターをコードで検索できるようになりました。
2.3
- トラッキングコードの後にハッシュが存在する場合にのみプラグインが機能するという回帰問題を修正しました。
2.2
- 戻り値からハッシュ文字(およびその後のすべて)を削除するようになりました。
2.1
- H.10 コードと互換