Google Tag Manager 设置和安装教程

搬瓦工机场JMS

GTM部署部署GTM主要有以下几个步骤:1、登录GTM账户2、点击主页上的“create new account”,通常来说每个公司只需要一个GTM账户Google Tag Manager 设置和安装教程3、为你的GTM账户命名,通常可以是公司名字,点击与公司共享匿名数据后点击继续Google Tag Manager 设置和安装教程4、为容器标签命名,通常可以是站点名字Google Tag Manager 设置和安装教程5、接受谷歌的协议政策后点击yesGoogle Tag Manager 设置和安装教程你现在就创建了一个容器了6、复制GTM跟踪代码添加到站点每一个页面的body处Google Tag Manager 设置和安装教程你将会看到GTM的界面是:Google Tag Manager 设置和安装教程

9、GTM 标签模板介绍标签模板将使管理你站点的标签更方便,GTM提供数十种标签模板,在容器的“Workspcaec”中的tag中点击”new”,新建标签:Google Tag Manager 设置和安装教程你将会看到如下可用的GTM标签模板:Google Tag Manager 设置和安装教程如果你要创建和使用自己的代码,你可以创建“Cuntom HTML Tag”或”Custom Iamge Tag”:Google Tag Manager 设置和安装教程

概述

跟踪代码管理器是一个代码管理系统,可以轻松地更新移动应用上的代码和代码段被触发的时机,在有预先埋点的情况下,完成对第三方sdk代码或自定义代码逻辑的“动态”管理。

例如通过tagmanager添加和更新Google Analytics等第三方sdk代码或自定义代码,而无需修改应用代码。这样既减少了错误,也免除了配置代码时向开发者求助的麻烦。

基本概念

TagManager必须了解的一些基本概念,比如容器,代码,数据层、触发器和变量等。

简单的说,一个公司注册一个账号,可以创建多个容器,比如一个android应用对应一个容器,容器里面主要包含了代码(tags)、触发器(triggers),宏变量(variables)等。

容器

对于android端而言,容器就是提供给sdk的一份二进制配置文件(有导出的json文件),sdk可以更具容器配置文件来进行处理。sdk也可以从服务器获取最新的配置文件来替换当前本地的文件。

通过获取容器,开发者可以获取动态获取集合值类型的宏变量值,要处理替换部分预设宏变量的参数,比如app id等,也可以获取容器相关的信息等。

Google Tag Manager 设置和安装教程

代码

代码指的是向第三方sdk发送信息的代码段。如果不使用诸如跟踪代码管理器这样的代码管理解决方案,则需要将这些代码段直接添加到移动应用的文件中。而使用tagmanager,就无需再在源代码文件中维护每个代码段,而只需在跟踪代码管理器界面中指定希望触发的代码,以及希望的触发时间。

对于android端而言,代码就是指定了调用第三方sdk的信息,比如说可以设置tag产品为Google Analytics时,指定该第三方sdk需要配置的的Tracking ID(追踪id)、追踪类型(相当于sdk触发的事件类型,比如说指定为app view事件)等信息。

代码效果相当于就是把我们需要在嵌入第三方sdk后要做的事件,转由tagmanager完成触发,不需要再显式地调用第三方sdk的代码。这样做的好处有下面几点:

  • 只需tagmanager实现一次触发动作,减少调用多个sdk的代码实现,相当于代码统一管理,避免重复多个sdk调用代码。
  • 后台可以动态配置代码,客户端获取到新的容器配置后,会解析配置文件后根据新的代码和规则,改变触动动作的时机以及调用第三方sdk的方法具体参数,实现“动态”配置(在必须先埋好点的基础上)。
  • 方便后期替换支持的第三方sdk时,可以做到项目代码不改变(在tagmanager支持的第三方sdk,不需要再显式调用第三方sdk触发代码),当然所有的前提的都是要埋点。

触发器

首先需要再次明确一点:tagmanager并不是减少了埋点的数量,该埋的位置照样还是要埋,只不过是将原来调用第三方sdk触发事件的方法转由tagmanager来完成,相当于tagmanaager作为第三方sdk的代理者(其实是后面的数据层实现了数据映射)。

触发器,简单的说就是一组行为触发的条件规则,满足条件的行为才会被触发。这也是tagmanager的“动态”性表现之一。也就是用户行为要触发代码前,需要达到触发器设置的条件规则才能执行,这个触发器配置内容包含在从后端获取的容器配置文件中。

“触发器”是指在运行时求值结果为“true”或“false”的条件。求值方法是对比“变量”的值与在定义触发器时指定的值,附加到代码的触发器用于控制该代码在何时触发或不触发。

“tagmanager变量”是指经过配置的“名称-值”对,其中的值在运行时填充。tagmanager有许多内置变量,还可以配置自定义变量。

例如,预定义的变量“url”始终包含当前加载的网页的网址。如果希望仅针对网页 example.com/purchase/receipt.html触发代码,那么需要定义这样的规则:事件:网页浏览触发器类型:网页浏览触发条件:某些网页浏览当以下条件的结果为“true”时触发代码:网址包含 example.com/purchase/receipt.html

可以根据自己的需要定义变量(多种宏类型变量),每个变量都包含需要在运行时使用的某些信息。然后,可以在触发器条件中使用这些变量,或者通过这些变量将信息传递给代码。

常见的触发条件:

条件
包含
开头为
结尾为
匹配正则表达式
与正则表达式相匹配(忽略大小写)
小于
小于或等于
大于
不等于
不包含
开头不是
结尾不是
不匹配正则表达式
与正则表达式不匹配(忽略大小写)

宏变量

在tagmanager中变量都是具有固定的类型匹配的.

  • 已启用广告跟踪:对于 Android,如果启用了广告跟踪,该变量返回 true,如果用户选择停用针对用户兴趣的广告,则返回 false。在 Android 开发者中心中了解详情。v4 以前的 SDK 版本将始终返回 false。移动应用容器中会提供此类型的内置变量,无需定义这一类型的新变量。
  • 应用 ID:该值设置为程序包名称 (Android) 或捆绑包 ID (iOS)。移动应用容器中会提供此类型的内置变量,无需定义这一类型的新变量。
  • 应用名称:该值设置为当前正在运行的应用的名称。移动应用容器中会提供此类型的内置变量,无需定义这一类型的新变量。
  • 应用版本号:该值设置为当前正在运行的应用的版本。移动应用容器中会提供此类型的内置变量,无需定义这一类型的新变量。
  • 常量:该值设置为提供的字符串。
  • 容器 ID:该值为该容器的公共 ID(如 GTM-ABC42)。移动应用容器中会提供此类型的内置变量,无需定义这一类型的新变量。
  • 容器版本号:当容器处于预览模式时,此变量值为容器的预览版本号。在其他情况下,此变量值是容器的实际版本号。移动应用容器中会提供此类型的内置变量,无需定义这一类型的新变量。
  • 设备 ID:对于 Android,该值设置为设备 ID。移动应用容器中会提供此类型的内置变量,无需定义这一类型的新变量。
  • 设备名称:该值设置为当前正在运行的应用的设备名称(如“Samsung Android”、“Android SDK built for x86”)。移动应用容器中会提供此类型的内置变量,无需定义这一类型的新变量。
  • 事件名称:在应用中执行以下代码时,该值设置为“eventNameXYZ”:
  • 事件参数:该值设置为针对给定键记录的 Firebase Analytics 事件参数值。
  • Firebase 用户属性:该值设置为给定键的 Firebase Analytics 用户属性值。
  • 函数调用:该值设置为调用预注册的函数所返回的值。要了解详情,请参阅 SDK 文档(Android 或 iOS)。
  • 用于广告的 ID:对于 Android,该值设置为广告 ID。在 Android 开发者中心中了解详情。v4 以前的 SDK 版本将始终返回 ”(空字符串)。
  • 语言:该值设置为两个字母的语言代码,用于表示用户设置的设备语言。移动应用容器中会提供此类型的预定义变量,无需定义这一类型的新变量。
  • 对照表:该值根据对照表中的说明进行设置。对照表包含两列(下表中不包含任何数据,数据的使用方法在下文中介绍):操作系统版本:该值设置为安装应用的操作系统的版本。移动应用容器中会提供此类型的内置变量,无需定义这一类型的新变量。
  • 平台:该值设置为当前正在运行的应用所属的平台(如“Android”)。移动应用容器中会提供此类型的内置变量,无需定义这一类型的新变量。
  • 随机数字:该值设置为介于 0 到 2147483647 之间的一个随机数字。移动应用容器中会提供此类型的内置变量,无需定义这一类型的新变量。
  • 屏幕分辨率:该值设置为当前正在运行应用的设备的屏幕分辨率。格式为“<宽>x<高>”,例如“1024×768”。移动应用容器中会提供此类型的内置变量,无需定义这一类型的新变量。
  • SDK 版本:该值设置为安装应用的操作系统的 SDK 版本。移动应用容器中会提供此类型的内置变量,无需定义这一类型的新变量。
  • 操作系统版本:该值设置为安装应用的操作系统的版本。
  • 平台:该值设置为目前正在运行应用的平台(“Android”或“iOS”其中之一)。移动应用容器中会提供此类型的预定义变量,无需定义这一类型的新变量。
  • 随机数:该值设置为介于 0 到 2147483647 之间的一个随机数。
  • 屏幕分辨率:该值设置为当前正在运行应用的设备的屏幕分辨率。格式为“宽 x 高”,例如“1024×768”。移动应用容器中会提供此类型的预定义变量,无需定义这一类型的新变量。
  • SDK 版本:该值设置为安装应用的操作系统的 SDK 版本。移动应用容器中会提供此类型的预定义变量,无需定义这一类型的新变量。

数据层映射

数据层是一种对象,可配置希望传递到tagmanager的信息。这需要配置数据层变量,用来采集这些值以备日后使用。要使tagmanager评估数据层变量的值,系统还必须推送事件,使用push来完成这个操作。

在android中,数据层就是维持了一个事件队列,开发者通过push一个包含key-value的map对象来添加到队列中,当push接受到一个key=event的是对象时,将把队列中的事件内容提取出来,并匹配容器中触发器规则条件,两者相符合的即触发相应代码逻辑。因此数据层包含了接收开发者push过来的事件map对象,包含了容器中配置的数据层变量信息等。

Google TagManager实际示例

先在项目代码中通过getDataLayer()获取数据层对象 可以使用push或pushEvent方法将数据传到数据层

Google Tag Manager 设置和安装教程

如上图,使用pushEvent(object)相当于push("event",object),表示向数据层push了一个key = “event”,value = “openScreen”和一个key = “screen-name”,value = “test page”的map对象集。这些数据层变量会映射到Google Analytiecs中成为触发的参数。

下面来演示一下Google Tagmanager的具体操作步骤

创建变量

创建数据层变量screen-name,作为传入数据层map的key,命名必须跟项目代码中保持一致性,注意上面的screen name2只是用于管理界面操作的标示。

Google Tag Manager 设置和安装教程

创建一个常量类型的变量,用于保存Google Analytiecs的tracking id

Google Tag Manager 设置和安装教程

创建触发器

  1. 触发器openScreen: 在管理界面Event中数据层变量event值等于openScreen时触发Google Tag Manager 设置和安装教程
  2. 触发器TestScrenn: 管理界面变量screen name2中的数据层变量screen-name值等于test page时触发Google Tag Manager 设置和安装教程

创建代码Tag

先看看需要配置的的整体效果

Google Tag Manager 设置和安装教程

选择管理代码的产品类型,这里选择Google Analytiecs,择好后再配置tag相关信息,比如GA所需的tracking id,触发的事件类型为App View,触发GA统计方法时传入的参数screenName会替换成数据层变量screen name2的值。就是数据层变量的值映射到GA的方法参数。

借助tagmanager中的自动事件跟踪功能,无需在调用ga的send("event", "category", "action", "label")硬编码每个点击操作,可以直接在TagManager界面中创建事件代码,然后基于预定义的变量或可以在TagManager界面中创建的自定义变量使用触发器触发这些代码。

Google Tag Manager 设置和安装教程

配置代码触发器,选择之前配置的两个触发器就行。

Google Tag Manager 设置和安装教程

全部配置完成后点击保存完成,点击publish生成新的版本发布。

Google Tag Manager 设置和安装教程

整体的关系效果图

通过调用tagmanager配置的数据层变量和方法,最终数据映射到Google analytiecs,这个过程并未在项目代码中显式的调用GA统计的代码,但是数据还是会传输到GA.

Google Tag Manager 设置和安装教程

在goole analytiecs查看数据

Google Tag Manager 设置和安装教程

未经允许不得转载:搬瓦工VPS_美国VPS » Google Tag Manager 设置和安装教程

赞 (0) 打赏

相关推荐

    暂无内容!

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏