<xf:if is="$xf.options.baCredentials.measurement_id">
<xf:if is="$xf.options.baGeneral.host_gtm">
<script async src="{{ link('javascript/gtm.js', '', {'_v': $xf.app.jsVersion}) }}"></script>
<xf:else />
<script async src="https://www.googletagmanager.com/gtag/js?id={$xf.options.baCredentials.measurement_id}"></script>
</xf:if>
<script>
window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag("js",new Date);gtag('config','{$xf.options.baCredentials.measurement_id|escape("js")}',{<xf:trim>
</xf:trim><xf:trim>
<xf:if is="$xf.cookie.domain">'cookie_domain': '{$xf.cookie.domain}',</xf:if>
</xf:trim><xf:trim>
<xf:if is="$xf.visitor.user_id && $xf.options.baItems.user_id">'user_id':'{$xf.visitor.user_id}',</xf:if>
</xf:trim><xf:trim>
<xf:if is="$xf.options.baItems.style">'style_id':{$xf.style.style_id},</xf:if>
</xf:trim><xf:trim>
<xf:if is="$xf.options.baItems.node && $forum.node_id">'node_id':{$forum.node_id},'node_title':'{$forum.Node.title|escape("js")}',</xf:if>
</xf:trim><xf:trim>
<xf:if is="$xf.options.baItems.thread && $thread.thread_id">'thread_id':{$thread.thread_id},'thread_title':'{$thread.title|escape("js")}',</xf:if>
</xf:trim><xf:trim>
<xf:if is="$xf.options.baItems.thread && $thread.prefix_id">'thread_prefix':'{{ prefix('thread', $thread)|escape("js") }}',</xf:if>
</xf:trim><xf:trim>
<xf:if is="$xf.options.baItems.thread && $thread.username">'thread_author':'{$thread.username|escape("js")}',</xf:if>
</xf:trim><xf:trim>
<xf:if is="$xf.options.baItems.thread_tag && $thread.tags">'thread_tag':'{$thread.tags|pluck("tag")|first|escape("js")}',</xf:if>
</xf:trim><xf:trim>
<xf:if contentcheck="true">
'user_properties': {
<xf:contentcheck><xf:trim>
<xf:if is="$xf.visitor.user_id && $xf.options.baItems.user_id">
'uid':{$xf.visitor.user_id},
</xf:if>
</xf:trim><xf:trim>
<xf:set var="$userGroupSet" value="{{ false }}" />
<xf:foreach loop="$xf.options.baUser.user_group" value="$userGroupId">
<xf:if is="!$userGroupSet && $xf.visitor.isMemberOf($userGroupId)">
<xf:set var="$userGroupSet" value="{{ true }}" />
'user_group_id':{$userGroupId},
</xf:if>
</xf:foreach>
</xf:trim></xf:contentcheck>
},
</xf:if>
</xf:trim><xf:trim>
<xf:if is="$xf.options.baDebug">'debug_mode':true,</xf:if>
</xf:trim>});
// ORIGINAL UA ANALYTICS WITH CUSTOM DIMENSIONS
gtag('config', '{$xf.options.googleAnalyticsWebPropertyId|escape("js")}', {
// <!--[XF:ga:config_start]-->
<xf:if is="$xf.cookie.domain">
'cookie_domain': '{$xf.cookie.domain}',
</xf:if>
<xf:if is="$xf.options.googleAnalyticsAnonymize">
'anonymize_ip': true,
</xf:if>
<xf:if is="$xf.visitor.user_id">
'user_id': '{$xf.visitor.user_id}',
</xf:if>
'dimension1': '<xf:if is="$xf.visitor.user_id">Registered<xf:else />Unregistered</xf:if>',
});
// ORIGINAL UA ANALYTICS WITH CUSTOM DIMENSIONS
<xf:if is="$xf.options.baItems.errors">!function(b,c){"object"==typeof console&&"function"==typeof console.error&&(console.error_old=console.error,console.error=function(){console.error_old.apply(this,arguments);b.gtag("event","exception",{error_type:"console",error_message:arguments[0],fatal:!1})});b.onerror=function(a,d,e){b.gtag("event","exception",{error_type:"javascript",error_message:a,error_location:d,error_line_number:e,fatal:!1})};b.onload=function(){c.querySelectorAll("img").forEach(a=>{a.complete&&0===a.naturalWidth&&b.gtag("event",
"exception",{error_type:"image",error_message:"not_loaded",error_location:a.src,fatal:!1})})}}(window,document);</xf:if>
</script>
</xf:if>