0

우리는 다음과 같은 코드를 서버에서 구매 이벤트를 보내는 :GA 향상된 전자 상거래 누락 된 구매 이벤트

using (var httpClient = new RestClient()) 
      { 
       httpClient.SendAsync(new HttpRequestMessage 
       { 
        RequestUri = new Uri(url), 
        Method = HttpMethod.Get 
       }); 
      } 

그러나 GA에 등록 결코 극복 이벤트의 약 15-20%. Google은 항상 GIF 및 상태 코드 200으로 응답하는 것으로 보이므로 어떤 이벤트가 성공적으로 처리되지 않았는지 알기가 어렵습니다.

처음에는 자바 스크립트 API를 사용하여 이벤트를 보내지 만 서버 측으로 전환하면 생성중인 요청을 복사하여 HttpClient로 복제하려고했습니다.

https://www.google-analytics.com/collect?v=1&_v=j47&a=817546713&t=event&ni=0&_s=1& DL = # 방식 + 호스트 + pathAndQuery # & DP = # 경로 # & DT = # 경로 # & UL = # 브라우저 언어 # & 드 = # :

는 요청 전송은 다음과 같습니다 브라우저 부호화 # & SD = # 비트 # & SR = # 화면 해상도 # & VP = # 조회 브라우저 영역 # & CID = # ID가 _ga 쿠키 # 찍은 & JE = 0 & FL = 24.0 % 20r0 & EC = 상거래 & 예 = 구입_U = SCEAAAALI20 25 % ~ & JID = & TID = # TrackingId # & GTM = # TagManagerId # & TI = # ORDERID # & = TA & TR = # TotalPrice # & TT = # TotalTax # & TS = # ShippingPrice # & TCC = # VoucherCode # & PA = 구매 & 세제곱 = # 통화 코드 # & pr1nm = # ProducteName # & pr1id = # 제품 ID # & pr1pr = # ProductPrice # & pr1br = # 브랜드 # & pr1ca = & pr1va = # 변형 번호 & pr1qt = # 수량 # & z = 무작위로 생성 된 고유 ID #

잘못 또는 당신은 백엔드에 그렇게 안

+0

창의적 접근. GTM이 사용하는 dataLayer에 이벤트와 페이로드를 밀어 넣지 않는 이유는 무엇입니까? –

답변

0

환영 디버깅하는 방법에 대해 어떤 아이디어. 올바른 방법은 프론트 엔드에서 수행하는 것입니다.

가장 쉬운 방법은 dataLayer에 데이터를 보내고 GTM에서 이벤트를 GA로 보냅니다.

P. C# 코드에서 비동기 메서드를 기다리고 있지 않은 문제를 볼 수 있습니다. 방법이 비동기 적이 지 않으면 다음과 같이 사용할 수 있습니다.

var temp = httpClient.SendAsync(new HttpRequestMessage 
      { 
       RequestUri = new Uri(url), 
       Method = HttpMethod.Get 
      }).Result;