Использование облачных функций с GTM для обработки данных на стороне сервера - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь использовать Google Tag Manager (GTM) с Google Cloud Functions (GCF) в качестве конвейера данных. Я бы инициировал HTTP-вызов конечной точки GCF каждый раз, когда в приложении завершалась продажа. Затем GCF добавляет продажу в базу данных для аналитики.

Это пример http, который я отправлю:

https://us-central1-{my_account_name}.cloudfunctions.net/{my_function_name}?order_value=10.99&url=https%3A%2F%2Fwww.my_url.com%2Fgb%2Fcommerce%2Fconfirmation%2F951615&region=GB&currency=GBP&amt=10.99&qty=1&items=OLE1571CD&order_id=951615&shipping_value=1.48

И основной сценарий обработки на GCF:

def main(request):
    """meta function that runs the functions in sequence"""
    # sleep the function for 20 seconds to ensure the order is in erply!
    with request as request:
        print("Sleeping for 20 seconds!")
        time.sleep(20)
        print("Awake! Grabbing data!")
        data = parse_request(request)
        data = json.dumps(data)
        send_request_to_active_campaign(data)

        return data

Проблема в том, что каждый раз, когда я отправляю http, тестируя его в веб-браузере, GCF работает, как и планировалось, без проблем, но когда он запускается из приложения, он возвращает 'finished with status: 'crash'' Как я могу заставить это работать успешно на основе срабатывания моего тега? Мой тег выглядит так - google-tag-manager config

Я протестировал его, и он запускает URL-адрес, как я и ожидал, но GCF не использует его правильно.

...