2015-06-03 28 views
5

Używam GoogleTagManager do wdrażania ulepszonego handlu elektronicznego (Google Analytics). Próbowałem przesłać poniżej dataLayer do GTM.Ostrzeżenie GoogleTag Manager: Nieoczekiwany typ w programie budującym: (null)

[dataLayer push:@{@"event",@"purchase", 
       @"ecommerce": @{ 
       @"purchase": @{ 
        @"actionField": @{ 
        @"id": @"T12345",       // Transaction ID. Required for purchases and refunds. 
        @"affiliation": @"Online Store", 
        @"revenue": @"35.43",      // Total transaction value (incl. tax and shipping) 
        @"tax":"4.90", 
        @"shipping": @"5.99", 
        @"coupon": @"SUMMER_SALE"}, 
        @"products": @[        // List of productFieldObjects. 
        @{@"name": @"Triblend Android T-Shirt", // Name or ID is required. 
         @"id": @"12345", 
         @"price": @"15.25", 
         @"brand": @"Google", 
         @"category": @"Apparel", 
         @"variant": @"Gray", 
         @"quantity": @1, 
         @"coupon": @""},      // Optional fields may be omitted or set to empty string. 
        @{@"name": @"Donut Friday Scented T-Shirt", 
         @"id": @"67890", 
         @"price": @"33.75", 
         @"brand": @"Google", 
         @"category": @"Apparel", 
         @"variant": @"Black", 
         @"quantity": @1}]}}}]; 

To są przykładowe dane z samouczka Menedżera tagów Google. Mimo to pojawia się następujący komunikat ostrzegawczy podczas próby wysłania działań do Google.

GoogleTagManager warning: Unexpected type in Builder: (null) 

Typ danych używam jest NSNumber (cena [doube] dochody [dwukrotnie] & ilość [int]) & NSString dla innych.

powyższych danych typów pracy właściwe dla innych tagów e-commerce jak „AddToCart”, „Zamówienie” etc .. jednak „Zakup” nie działa ..

Może ktoś sugerują, co jeszcze może być sądzony?

+0

widzę literówkę w pierwszej linii: '[dataLayer Push: @ {@" zdarzenie ", @" zakup "' powinien prawdopodobnie być: '[dataLayer push: @ {@" event ": @" zakup "'. Ale myślę, że masz w nim kod dwukropka, inaczej kompilator by narzekał. – turingtested

+0

Nie działa dla mnie :( –

Odpowiedz

2

Natknąłem się na ten problem jakiś czas temu. wygląda na to, że jestem w konflikcie z poprzednim materiałem e-commerce.

przed u wysłać zdarzenie zakupu, spróbuj wyczyścić obiektowi eCommerce

[self.tagDataLayer push:@{@"ecommerce":[NSNull null]}]; 

ten pracował dla mnie