2013-10-22 10 views
5

Utilizziamo GA per il tracciamento e una parte del monitoraggio riguarda la memorizzazione del valore del cookie __utmz nel nostro DB. Ho un problema nel capire perché CF 10 non è in grado di analizzare il cookie __utmz.Impossibile analizzare il cookie __utmz

CF10 non sta analizzando o recuperando correttamente il valore di __utmz cookie O quasi qualsiasi valore di cookie con un segno 'uguale (=)' diverso da CFGLOBALS.

Ecco la schermata del problema (utilizzando CFDUMP di portata COOKIE) -

Quello che dovrebbe essere simile -

Proper Google Analytic cookie read

Quello che sta cercando come -

Improper Google Analytic cookie read

Configurazione server: CF1 0, IIS 7.5, Win 2k8

+0

il tuo dominio ha accesso ai cookie impostati da (e presumibilmente _on_) il dominio GA? – duncan

+0

@duncan si. tutti gli altri cookie vanno bene. questo solo ha il problema. – Sanjeev

risposta

1

Ok! Ho trovato il modo di mitigare questo problema. Utilizzando il metodo GetHttpRequestData().

<cfscript>  
    _cookie = GetHttpRequestData().headers.cookie; 
</cfscript> 

Ciò restituirà un; elenco delimitato di valori di cookie. Ho usato regEx per scegliere il valore __utmz di cui avevo bisogno.

0

Mi sono appena imbattuto in questo problema. Alcuni codici che funzionavano in CF8 hanno smesso di funzionare in CF10. Ho creato questa funzione per ottenere il valore del cookie raw:

<cffunction name="GetRawCookie" output="false" returntype="string"> 
    <cfargument name="cookieName" type="string" required="true"> 
    <cfset local.cookies = GetHttpRequestData().headers.cookie> 
    <cfset local.cookieValue = ""> 
    <cfset local.match = reFindNoCase("(?:^|;)\s*" & arguments.cookieName & "=([^;]+)", local.cookies, 1, true)> 
    <cfif local.match.pos[1] gt 0> 
     <cfset local.cookieValue = mid(local.cookies, local.match.pos[2], local.match.len[2])> 
    </cfif> 
    <cfreturn local.cookieValue> 
</cffunction>