Google 跟踪代码管理器 - Python - 创建自定义事件触发器

Google Tag Manager - Python - Creating a custom event trigger

我正在尝试自动执行一些 GTM 任务。下面的代码为 Google 分析工作创建 "All Pages" 触发器。

def CreateGATrigger(service, workspace):


 """Create the GA Trigger.

  Args:
    service: the Tag Manager service object.
    workspace: the workspace to create the trigger within.

  Returns:
    The created trigger.
  """

  GA_trigger = {
      'name': 'All Pages',
      'type': 'PAGEVIEW'
  }

  return service.accounts().containers().workspaces().triggers().create(
      parent=workspace['path'],
      body=GA_trigger).execute()

但是,下面的代码给出了以下错误。以下代码的目标是创建一个自定义事件触发器,该触发器在事件变量包含 "formSubmit" 时触发。

def CreateformSubmitTrigger(service, workspace):

  formSubmit_trigger = {
  "name": 'formSubmit',
  "type": 'customEvent',
  'customEventFilter': [
    {
      'parameter': [
        {
          'type': 'template',
          'key': 'arg0',
          'value': '{{event}}'
        },
        {
          'type': 'template',
          'key': 'arg1',
          'value': 'formSubmit'
        }
      ],
      'type': 'contains'
    }
  ]
}

  return service.accounts().containers().workspaces().triggers().create(
      parent=workspace['path'],
      body=formSubmit_trigger).execute()

错误:(X'd out the account and container)

googleapiclient.errors.HttpError: <HttpError 400 when requesting https://www.googleapis.com/tagmanager/v2/accounts/XXXXXXXXXX/containers/XXXXXXX/workspaces/1/triggers?alt=json returned "Bad Request">

我使用下面的代码让它工作。

def CreateformSubmitTrigger(service, workspace):

  formSubmit_trigger =   {
   "name": "formSubmit",
   "type": "customEvent",
   "customEventFilter": [
    {
     "type": "equals",
     "parameter": [
      {
       "type": "template",
       "key": "arg0",
       "value": "{{_event}}"
      },
      {
       "type": "template",
       "key": "arg1",
       "value": "formSubmit"
      }
     ]
    }
   ],
   "filter": [
    {
     "type": "contains",
     "parameter": [
      {
       "type": "template",
       "key": "arg0",
       "value": "{{Event}}"
      },
      {
       "type": "template",
       "key": "arg1",
       "value": "formSubmit"
      }
     ]
    }
   ],
  }

  return service.accounts().containers().workspaces().triggers().create(
      parent=workspace['path'],
      body=formSubmit_trigger).execute()