GlisWeb framework
_analytics.tools.php
Vai alla documentazione di questo file.
1 <?php
2 
14  // indirizzo per l'invio dei dati
15  define( 'ANALYTICS_URL' , 'www.google-analytics.com/' );
16  define( 'ANALYTICS_ENDPOINT_COLLECT' , 'collect' );
17 
23  function analyticsPageHit( $p, $ua, $cid ) {
24 
25  // effettuo la chiamata
26  $r = restCall(
29  array(
30  'v' => '1',
31  't' => 'pageview',
32  'dp' => $p,
33  'tid' => $ua,
34  'cid' => $cid
35  ),
37  false
38  );
39 
40  // debug
41  // echo http_build_query( $hit );
42  // var_dump( $r );
43 
44  }
45 
51  function analyticsProductHit( $p, $pr, $ua, $cid ) {
52 
53  // contatore per le liste di impressioni
54  $li = 1;
55 
56  // array base per l'hit
57  $hit = array(
58  'v' => '1',
59  't' => 'pageview',
60  'dp' => $p,
61  'tid' => $ua,
62  'cid' => $cid
63  );
64 
65  // aggiungo le impression list e i prodotti
66  foreach( $pr as $ln => $lp ) {
67 
68  // contatore per i prodotti di questa lista
69  $pi = 1;
70 
71  // compongo il nome dell'impression list
72  $lin = 'il' . $li;
73 
74  // aggiungo la lista all'hit
75  $hit[ $lin . 'nm' ] = $ln;
76 
77  // compongo l'elenco dei prodotti
78  foreach( $lp as $pk => $pr ) {
79 
80  // compongo il nome del prodotto
81  $pin = $lin . 'pi' . $pi;
82 
83  // aggiungo i dati di questo prodotto
84  $hit[ $pin . 'id' ] = $pk;
85  $hit[ $pin . 'nm' ] = $pr['nome'];
86  $hit[ $pin . 'ca' ] = $pr['categoria'];
87 
88  // incremento il contatore
89  $pi++;
90 
91  }
92 
93  // incremento il contatore
94  $li++;
95 
96  }
97 
98  // effettuo la chiamata
99  $r = restCall(
101  METHOD_POST,
102  $hit,
104  false
105  );
106 
107  // debug
108  // echo http_build_query( $hit );
109  // var_dump( $r );
110 
111  }
112 
118  function analyticsEventHit( $ua, $ec, $ea, $el, $cid = 1 ) {
119 
120  // array base per l'hit
121  $hit = array(
122  'v' => '1', // versione
123  't' => 'event', // tipo di hit
124  'tid' => $ua, // tracking ID
125  'cid' => $cid, // ID client anonimo
126  'ec' => $ec, // categoria evento
127  'ea' => $ea, // azione evento
128  'el' => $el // label evento
129  );
130 
131  // effettuo la chiamata
132  $r = restCall(
134  METHOD_POST,
135  $hit,
137  false
138  );
139 
140  // log
141  logWrite( ANALYTICS_URL . ANALYTICS_ENDPOINT_COLLECT . http_build_query( $hit ), 'ecommerce', LOG_DEBUG );
142 
143  }
144 
150  function analyticsCheckout( $p, $pr, $ua, $cid, $tid, $tr, $tt, $ts, $aip = 1 ) {
151 
152  // contatore per le liste di impressioni
153  $li = 1;
154 
155  // array base per l'hit
156  $hit = array(
157  'v' => '1', // versione
158  't' => 'pageview', // tipo di hit
159  'dp' => $p, // pagina
160  'tid' => $ua, // tracking ID
161  'cid' => $cid, // ID client anonimo
162  'ti' => $tid, // ID carrello
163  'tr' => $tr, // importo totale lordo del carrello
164  'tt' => $tt, // tasse
165  'ts' => $ts, // spese di spedizione
166  'pa' => 'purchase', // azione
167  'aip' => $aip // anonimizzazione IP
168  );
169 
170  // contatore per i prodotti di questa lista
171  $pi = 1;
172 
173  // aggiungo le impression list e i prodotti
174  foreach( $pr as $pk => $pr ) {
175 
176  // compongo il nome del prodotto
177  $pin = 'pr' . $pi;
178 
179  // aggiungo i dati di questo prodotto
180  $hit[ $pin . 'id' ] = $pk; // ID articolo
181  $hit[ $pin . 'nm' ] = $pr['nome']; // nome articolo
182  $hit[ $pin . 'ca' ] = $pr['categoria']; // categoria articolo
183  $hit[ $pin . 'pr' ] = $pr['prezzo']; // prezzo lordo unitario articolo
184  $hit[ $pin . 'qt' ] = $pr['quantita']; // quantità articolo
185 
186  // incremento il contatore
187  $pi++;
188 
189  }
190 
191  // effettuo la chiamata
192  $r = restCall(
194  METHOD_POST,
195  $hit,
197  false
198  );
199 
200  // log
201  logWrite( ANALYTICS_URL . ANALYTICS_ENDPOINT_COLLECT . http_build_query( $hit ), 'ecommerce', LOG_DEBUG );
202 
203  // debug
204  // echo http_build_query( $hit );
205  // var_dump( $r );
206 
207  }
208 
209 ?>
analyticsPageHit( $p, $ua, $cid)
logWrite( $m, $f='site', $l=LOG_NOTICE, $d=DIRECTORY_LOG, $t=CURRENT_LOG_LEVEL, $s=SITE_STATUS)
scrive un messaggio nei log del sito
Definition: _log.utils.php:48
$p['ricerca']
restCall( $url, $method=METHOD_GET, $data=NULL, $datatype=MIME_APPLICATION_JSON, $answertype=MIME_APPLICATION_JSON, &$status=NULL, $headers=array(), $user=NULL, $pasw=NULL, &$error=NULL)
esegue una chiamata REST
Definition: _rest.tools.php:23
const METHOD_POST
Definition: _config.php:282
const ANALYTICS_ENDPOINT_COLLECT
$r
Definition: _osm.php:25
analyticsProductHit( $p, $pr, $ua, $cid)
const ANALYTICS_URL
analyticsEventHit( $ua, $ec, $ea, $el, $cid=1)
const MIME_MULTIPART_FORM_DATA
analyticsCheckout( $p, $pr, $ua, $cid, $tid, $tr, $tt, $ts, $aip=1)