Charles Douglas - GTM

Fire Google Tag Manager triggers based on whether userID in dataLayer has some value or not.

We have 3rd party tags like 'live chat' that we'd like to fire only if the user is signed in or not. We know from the dataLayer if the user is signed on because the following will be present in the dataLayer. (see userID.png).

Conversely, when a user is not logged in, this will be missing from the dataLayer (e.g userID_missing.png). 

In Google Tag Manager, I've setup 2 triggers - you can see them in 'userID_GTM.png). My intent is to use them so if GTM notices there is any value for 'userID' to fire the trigger userID signed in. If it is undefined or blank, for the trigger to be 'userID not signed in'.

Sadly, this hasn't worked. I know this because when I am logged out (and no userID value) is being pushed by the DL, the firing trigger 'userID signed in' still fires!  

Can anyone suggest a better workaround for my problem?  I'm a beginner, so still trying to learn the ropes.

Many thanks in advance. 

すべての返信(3 件)
You need to first make a custom JS variable that returns true if the datalayer variable for userId is present. Then in your firing trigger set a condition where {{ yourCustomJS }} variable does/or does not equal true depending on what you want to happen. It sounds like in your case you want to fire the live chat when the userId dlv equals true. 

Does that help?
Simo Ahava
Simo Ahava

All you need is the following trigger condition:

{{userId}} does not equal undefined

GTM lets you query the undefined data type as a string match in trigger conditions. Thus the trigger condition above will only pass if {{userId}} has a proper value in dataLayer.

Google ユーザー
Google ユーザー
Hey Simo, thanks again for single handedly being the guy who makes GTM adoption possible. I actually wasn't aware you could string match undefined, that's a pretty useful detail that might be worth adding to your site somewhere :)


一部のコミュニティ メンバーには、ID またはコミュニティへの参加度を表すバッジが付与されています。

Google 社員 - Google プロダクト チームのメンバーとコミュニティ マネージャー
コミュニティ スペシャリスト - コミュニティ コンテンツの品質維持に貢献している Google パートナー
プラチナ プロダクト エキスパート - 他の Google ユーザーやプロダクト エキスパートをサポートしている、プロダクトに関する高度な知識を持つコミュニティ メンバー
ゴールド プロダクト エキスパート - 質問に答えて他の Google ユーザーをサポートしている、プロダクトに関する知識が豊富なコミュニティ メンバー
シルバー プロダクト エキスパート - 質問に答えて他の Google ユーザーをサポートしている、プロダクトに関する中級の知識を持つコミュニティ メンバー
歴代プロダクト エキスパート - 現在はプログラムのメンバーではない元プロダクト エキスパート


メンバーのレベルは、そのユーザーのフォーラムへの参加状況を示します。レベルが高いほど、参加が多いことを意味します。どのユーザーもレベル 1 からスタートし、最高はレベル 10 です。次のような行為がフォーラムでのレベルアップにつながります。

  • 回答を投稿する。
  • 回答がベストアンサーに選ばれる。
  • 自分の投稿が役に立ったと評価される。
  • 投稿を評価する(役に立ったかどうか)。
  • トピックまたは投稿を適切に不正行為とマークする。





これは Google プロダクト フォーラムのコメントです。不正行為を報告するには、現在のヘルプページから移動する必要があります。


これは Google プロダクト フォーラムのコメントです。返信するには、現在のヘルプページから移動する必要があります。