跟踪代码:_gaq 全局对象

_gaq 全局对象可以直接用于通过 push(...) 方法进行异步网页跟踪。该对象还提供了可创建跟踪器对象的方法,但这些方法仅应在少数情况下使用。

对于传统网页跟踪,请改用 _gat 全局对象。

_gaq 对象方法

方法详解

_createAsyncTracker()

    _createAsyncTracker(accountId, opt_name)
    创建在进行异步跟踪调用时可以通过名称引用的跟踪器对象。如果未指定名称,它将是空字符串 '',在异步语法中表示默认跟踪器。 如果已存在使用指定名称的异步跟踪器,新的跟踪器将会覆盖该跟踪器。

    注意:通常,此方法只能在已推送到 _gaq 的函数内安全使用。仅应在极少数情况下使用。
    _gaq._createAsyncTracker('UA-65432-1');

    形参

      String accountId 跟踪器对象的完整网络媒体资源 ID(例如 UA-65432-1)。
      String opt_name 用于存储跟踪器对象的名称。使用该名称在以后的异步跟踪调用中引用跟踪器对象。

    返回

      Tracker 已创建的跟踪对象。

_getAsyncTracker()

    _getAsyncTracker(opt_name)
    返回之前以指定名称创建的跟踪器对象。 如果未指定名称,则将使用默认跟踪器名称(空字符串 '')。如果指定名称的跟踪器对象不存在,那么系统会创建一个新的跟踪器,将其分配给该名称,并将其返回。

    注意:通常,此方法只能在已推送到 _gaq 的函数内安全使用。仅应在极少数情况下使用。
    _gaq._getAsyncTracker();

    形参

      String opt_name 要检索的跟踪器对象的名称。

    返回

      Tracker 已检索到或创建的跟踪对象。

push

    push(commandArray)
    执行指定的 command array,它只是一个符合以下格式的 JavaScript 数组。该数组的第一个元素必须是作为字符串传递的跟踪器对象方法的名称。数组元素的其余部分是要作为参数传入函数的值。

    典型的用法如下:
    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-65432-1']);
    _gaq.push(['_trackPageview']);

    此函数名为“push”,因此可以在 Google Analytics(分析)完全加载之前使用数组代替 _gaq当 Google Analytics(分析)正在加载时,命令将被推送/排队到该数组中。当 Google Analytics(分析)完成加载后,它会用 _gaq 对象替换数组,并执行已加入队列的所有命令。对 _gaq.push 的后续调用会解析为此函数,由该函数在推送命令时执行。

    如果要为跟踪器命名,可以在方法名称前加上跟踪器名称(外加一个点)。如果函数名称可以使用跟踪器的名称进行限定,则函数会针对该跟踪器执行。

    以下示例创建并使用了一个名为 myTracker 的跟踪器。
    var _gaq = _gaq || [];
    _gaq.push(['myTracker._setAccount', 'UA-65432-2']);
    _gaq.push(['myTracker._setDomainName', 'foo.com']);
    _gaq.push(['myTracker._trackPageview']);

    注意:跟踪器会在第一次被命令引用时创建。通过第一个未明确指定跟踪器名称的命令创建默认跟踪器。默认跟踪器的名称是空字符串 ''

    除了推送命令数组之外,您还可以推送函数对象。 这对于返回值的跟踪器方法尤其有用。 这些函数可以同时引用 _gat_gaq
    var _gaq = _gaq || [];
    _gaq.push(function() {
      var tracker = _gat._getTracker('UA-65432-1');
      tracker._trackPageview();
    });

    您还可以直接在网页的 HTML 中使用推送语法。
    onclick="_gaq.push(['_trackEvent', 'name', value]);"

    只要异步 Google Analytics(分析)代码段位于链接上方,系统就会准确无误地捕获点击次数;即使 Google Analytics(分析)在点击时尚未完全加载,也是如此。这正是异步跟踪的诸多好处之一。

    最后,您可以一次推送所有命令,而无需为每个命令数组输入 _gaq.push(...)。以下代码演示了这种方法。 如需了解详情,请参阅异步代码段使用指南

    _gaq.push(
      ['_setAccount', 'UA-XXXXX-X'],
      ['_setDomainName', 'example.com'],
      ['_setCustomVar', 1, 'Section', 'Life & Style', 3],
      ['_trackPageview']
    );

      形参

        Array commandArray 要执行的命令。可以通过同一调用推送其中一个或多个字段。

      返回

        Number 未能执行的命令的数量。