antoniotajuelo/google-tag-manager-php

该包已被废弃,不再维护。未建议替代包。

为在您的网站中实现 Google Tag Manager 提供简单的 PHP 辅助函数。

dev-master 2017-08-22 10:52 UTC

This package is not auto-updated.

Last update: 2023-08-14 09:17:34 UTC


README

此类提供了一些简单的 PHP 辅助函数,用于在您的网站中实现 Google Tag Manager。

入门

您可以使用 Composer 安装此包,只需将此行添加到您的 composer.json 的 require 语句中。

"antoniotajuelo/google-tag-manager-php": "dev-master"

然后从终端运行

sudo composer update

代码示例

use AntonioTajuelo\Gtm\Gtm;

Gtm::renderContainer('GTM-XXXXXX');
/* This will render the following container:
<noscript><iframe src="//#/ns.html?id=GTM-XXXXXX"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'//#/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXX');</script>
*/

Gtm::datalayerPush(['user_id' => 1]);
/* This will trigger the following datalayer push:
<script>dataLayer.push({'user_id':1});</script>
*/

方法

  • Gtm::renderContainer($container_id,$datalayer_items_array)
  • Gtm::datalayerPush($datalayer_items_array)
  • Gtm::datalayerRemember($datalayer_items_array)
  • Gtm::destroyContainer()

renderContainer 方法

描述

渲染 Google Tag Manager 容器。

参数

  • $container_id (必需): 容器的 id。您可以从 Google Tag Manager 账户管理面板获取此值。
  • $datalayer_items_array (可选): 要添加到 datalayer 的键值项数组。

datalayerPush 方法

描述

使用此方法填充您的 datalayer。当此方法在容器渲染之前被调用时,它将在 HTML 代码中声明的时间填充 datalayer。当此方法在容器渲染之后被调用时,它将渲染 JavaScript dataLayer.push({...}) 调用。

参数

  • $datalayer_items_array (必需): 要添加到 datalayer 的键值项数组。

datalayerRemember 方法

描述

此方法旨在收集应用程序中不渲染 HTML 代码的部分的 datalayer 信息。通过此方法添加的所有 datalayer 项都将被记住,直到在 HTML 页面上渲染容器时才会最终触发。

参数

  • $datalayer_items_array (必需): 要添加到 datalayer 的键值项数组。

destroyContainer 方法

描述

销毁Google Tag Manager容器并将datalayer重置为空datalayer。当您需要在同一页面上使用不同的datalayer设置渲染多个容器时非常有用。

参数

  • 此方法不接收任何参数。