Google Tag Manager - Python - Создание собственного триггера событий - PullRequest
0 голосов
/ 17 мая 2018

Я пытаюсь автоматизировать некоторые задачи GTM.Приведенный ниже код для создания триггера «Все страницы» для Google Analytics работает.

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()

Ошибка: (удалила учетную запись и контейнер)

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">

1 Ответ

0 голосов
/ 17 мая 2018

Я получил это для работы, используя код ниже.

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()
...