2014-03-28 1 views
0

업데이트 : 이제 수량이 13 인 거래가 있습니다. 나는. 동일한 transactionId이지만 많은 거래가 발생합니다. 내 transactionId 발전기를 테스트 한 좋아 보인다, 그래서 난 정말 무슨 일이 일어나고 있는지 확실하지 않다전자 상거래에 종종 잘못된 수량이 있습니다.

질문 :

추적 일부 ecommmerce

내가 생각을 할 Google 태그 관리자를 사용하려고 모든 것이 올바로 설정되었지만 트랜잭션에 대해 0, 수량 중 일부 (올바른 값) 및 일부 값이 0이됩니다.

정적 값이 1로 설정되었습니다. 내 데이터 레이어 코드 :

<script> 
dataLayer = [{ 
'transactionId': '504210532.1395946032.72', // <? echo $id.".".time().".".rand(1,100); ?> 
'transactionTotal': 1.00, 
'transactionProducts': [{ 
'sku': 'prod1', 
'name': 'Product', 
'price': 1.00, 
'quantity': 1 
}], 

**OTHER DATALAYER PROPERTIES** 

}]; 
</script> 

유일한 동적 것은 나머지는 특정 페이지의 모든 정적

태그 화재되면, transactionId이다; 발사가 문제가되지 않는 것처럼 보입니다. 알 수없는 이유 때문에 항상 올바른 수량을 얻지 못하고 있습니다.

+0

간단한 초기 질문 : 위의 dataLayer를 GTM 코드 조각 앞에 포함 시켰습니까? 코드에 다른 오류가 실제로 표시되지 않으며 오류가 발생한다고 말하면 다른 오류가 있다고 가정합니다. 거래 데이터를 알아 차리기까지 얼마나 기다렸습니까? 가끔은 야간 계산을 통해 스스로를 수정하는 것을 보았습니다. – MrSponge

+0

안녕하세요. 예를 들어 dataLayer가 GTM 스 니펫 위에 있습니다. 이것은 며칠 후 스스로 정정되지 않았다. – Drewdavid

답변

0

전자 상거래의 중복 발사를 방지 할 수있는 방법이 있습니까? 스 니펫 코드? 영수증 페이지가로드 될 때마다 Google 태그 관리자의 전자 상거래 코드가 실행됩니다. 내 추측은 그것이 이상한 숫자를보고있는 이유입니다. 누군가가 새로 고침하고 뒤로 버튼을 치면 중복 된 화재가 발생할 것이기 때문입니다. 이상한 일들이 이런 일이없이 일어나는 것을 보아 왔기 때문에 항상 구현했는지 확인합니다.

정확히이 솔루션을 발견 한 곳을 기억할 수 없으므로 사과드립니다. 내 소스를 인용 할 수 없습니다 (발견하면 업데이트됩니다). 하지만 Google 태그 관리자에서 전자 상거래 스 니펫이 두 번 실행되는 것을 방지하는 솔루션이 있습니다.

결제 완료 페이지에서 실행되는 CustomHTML 스 니펫으로 추가합니다.

<script> 
// CustomHTML only trigger on /checkout/sale-complete.html and gtm.dom ready 
function createCookie(name,value,days) { 
if (days) { // If not provided, it will be a session cookie. 
var date = new Date(); 
date.setTime(date.getTime()+(days*24*60*60*1000)); 
var expires = "; expires="+date.toGMTString(); 
} 
else var expires = ""; 
document.cookie = name+"="+value+expires+"; path=/"; 
} 

function readCookie(name) { 
var nameEQ = name + "="; 
var ca = document.cookie.split(';'); 
for(var i=0;i < ca.length;i++) { 
var c = ca[i]; 
while (c.charAt(0)==' ') c = c.substring(1,c.length); 
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 
} 
return null; 
} 

if (!readCookie('cookie_hasPurchaseRecordedAlready')) { 
createCookie('cookie_hasPurchaseRecordedAlready', 'true', 1); 
} 
</script> 

스크립트가 새 쿠키를 만듭니다.

다음, 새로운 첫번째 파티 쿠키 매크로를 만드는이 쿠키를 구입하고 전자 상거래 UA 코드에 그것을 'cookie_hasPurchaseRecordedAlready'

의 값을 제공, 차단 규칙을 추가 이름 - {{구매 쿠키] 진정한 같습니다.

관련 문제