Skip to content
Extraits de code Groupes Projets
Valider c55e2a75 rédigé par Thomas Steur's avatar Thomas Steur
Parcourir les fichiers

Merge pull request #7014 from piwik/6217

Force new visit after midnight
parents 982b0632 88cd3ca6
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Affichage de
avec 168 ajouts et 100 suppressions
...@@ -405,6 +405,33 @@ class Visit implements VisitInterface ...@@ -405,6 +405,33 @@ class Visit implements VisitInterface
&& ($lastActionTime > ($this->request->getCurrentTimestamp() - Config::getInstance()->Tracker['visit_standard_length'])); && ($lastActionTime > ($this->request->getCurrentTimestamp() - Config::getInstance()->Tracker['visit_standard_length']));
} }
/**
* Returns true if the last action was not today.
* @param Visitor $visitor
* @return bool
*/
private function wasLastActionNotToday(Visitor $visitor)
{
$lastActionTime = $visitor->getVisitorColumn('visit_last_action_time');
if (empty($lastActionTime)) {
return false;
}
$idSite = $this->request->getIdSite();
$timezone = $this->getTimezoneForSite($idSite);
if (empty($timezone)) {
throw new UnexpectedWebsiteFoundException('An unexpected website was found, check idSite in the request');
}
$date = Date::factory((int) $lastActionTime, $timezone);
$now = $this->request->getCurrentTimestamp();
$now = Date::factory((int) $now, $timezone);
return $date->toString() !== $now->toString();
}
// is the referrer host any of the registered URLs for this website? // is the referrer host any of the registered URLs for this website?
public static function isHostKnownAliasHost($urlHost, $idSite) public static function isHostKnownAliasHost($urlHost, $idSite)
{ {
...@@ -616,6 +643,10 @@ class Visit implements VisitInterface ...@@ -616,6 +643,10 @@ class Visit implements VisitInterface
*/ */
public function isVisitNew(Visitor $visitor, Action $action = null) public function isVisitNew(Visitor $visitor, Action $action = null)
{ {
if (!$visitor->isVisitorKnown()) {
return true;
}
$isLastActionInTheSameVisit = $this->isLastActionInTheSameVisit($visitor); $isLastActionInTheSameVisit = $this->isLastActionInTheSameVisit($visitor);
if (!$isLastActionInTheSameVisit) { if (!$isLastActionInTheSameVisit) {
...@@ -624,12 +655,19 @@ class Visit implements VisitInterface ...@@ -624,12 +655,19 @@ class Visit implements VisitInterface
return true; return true;
} }
$wasLastActionYesterday = $this->wasLastActionNotToday($visitor);
if ($wasLastActionYesterday) {
Common::printDebug("Visitor detected, but last action was yesterday...");
return true;
}
$shouldForceNewVisit = $this->triggerPredicateHookOnDimensions($this->getAllVisitDimensions(), 'shouldForceNewVisit', $visitor, $action); $shouldForceNewVisit = $this->triggerPredicateHookOnDimensions($this->getAllVisitDimensions(), 'shouldForceNewVisit', $visitor, $action);
if ($shouldForceNewVisit) { if ($shouldForceNewVisit) {
return true; return true;
} }
return !$visitor->isVisitorKnown(); return false;
} }
private function markArchivedReportsAsInvalidIfArchiveAlreadyFinished() private function markArchivedReportsAsInvalidIfArchiveAlreadyFinished()
...@@ -637,20 +675,30 @@ class Visit implements VisitInterface ...@@ -637,20 +675,30 @@ class Visit implements VisitInterface
$idSite = (int) $this->request->getIdSite(); $idSite = (int) $this->request->getIdSite();
$time = $this->request->getCurrentTimestamp(); $time = $this->request->getCurrentTimestamp();
try { $timezone = $this->getTimezoneForSite($idSite);
$site = Cache::getCacheWebsiteAttributes($idSite);
} catch (UnexpectedWebsiteFoundException $e) { if (!isset($timezone)) {
return;
}
if(!isset($site['timezone'])) {
return; return;
} }
$date = Date::factory((int) $time, $site['timezone']); $date = Date::factory((int) $time, $timezone);
if (!$date->isToday()) { // we don't have to handle in case date is in future as it is not allowed by tracker if (!$date->isToday()) { // we don't have to handle in case date is in future as it is not allowed by tracker
$invalidReport = new ArchiveInvalidator(); $invalidReport = new ArchiveInvalidator();
$invalidReport->rememberToInvalidateArchivedReportsLater($idSite, $date); $invalidReport->rememberToInvalidateArchivedReportsLater($idSite, $date);
} }
} }
private function getTimezoneForSite($idSite)
{
try {
$site = Cache::getCacheWebsiteAttributes($idSite);
} catch (UnexpectedWebsiteFoundException $e) {
return;
}
if (!empty($site['timezone'])) {
return $site['timezone'];
}
}
} }
...@@ -284,6 +284,24 @@ class VisitTest extends IntegrationTestCase ...@@ -284,6 +284,24 @@ class VisitTest extends IntegrationTestCase
$this->assertFalse($result); $this->assertFalse($result);
} }
public function test_isVisitNew_ReturnsTrue_IfLastActionTimestampWasYesterday()
{
$this->setDimensionsWithOnNewVisit(array(false, false, false));
// test same day
/** @var Visit $visit */
list($visit, $visitor, $action) = $this->makeVisitorAndAction(
$lastActionTime = '2012-01-01 23:59:58', $thisActionTime = '2012-01-01 23:59:59', $isVisitorKnown = true);
$result = $visit->isVisitNew($visitor, $action);
$this->assertFalse($result);
// test different day
list($visit, $visitor, $action) = $this->makeVisitorAndAction(
$lastActionTime = '2012-01-01 23:59:58', $thisActionTime = '2012-01-02 00:00:01', $isVisitorKnown = true);
$result = $visit->isVisitNew($visitor, $action);
$this->assertTrue($result);
}
public function test_markArchivedReportsAsInvalidIfArchiveAlreadyFinished_ShouldRemember_IfRequestWasDoneLongAgo() public function test_markArchivedReportsAsInvalidIfArchiveAlreadyFinished_ShouldRemember_IfRequestWasDoneLongAgo()
{ {
$currentActionTime = '2012-01-02 08:12:45'; $currentActionTime = '2012-01-02 08:12:45';
......
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
<nb_hits>2</nb_hits> <nb_hits>2</nb_hits>
<bounce_rate>100%</bounce_rate> <bounce_rate>100%</bounce_rate>
<avg_time_on_page>00:00:00</avg_time_on_page> <avg_time_on_page>00:00:00</avg_time_on_page>
<exit_rate>50%</exit_rate> <exit_rate>100%</exit_rate>
<avg_time_generation>0.14s</avg_time_generation> <avg_time_generation>0.14s</avg_time_generation>
</row> </row>
</result> </result>
...@@ -213,10 +213,10 @@ ...@@ -213,10 +213,10 @@
<nb_visits>18</nb_visits> <nb_visits>18</nb_visits>
<nb_uniq_visitors>3</nb_uniq_visitors> <nb_uniq_visitors>3</nb_uniq_visitors>
<nb_hits>18</nb_hits> <nb_hits>18</nb_hits>
<entry_bounce_count>1</entry_bounce_count> <entry_bounce_count>2</entry_bounce_count>
<entry_nb_visits>6</entry_nb_visits> <entry_nb_visits>7</entry_nb_visits>
<entry_nb_actions>26</entry_nb_actions> <entry_nb_actions>27</entry_nb_actions>
<exit_nb_visits>1</exit_nb_visits> <exit_nb_visits>2</exit_nb_visits>
<exit_nb_uniq_visitors>1</exit_nb_uniq_visitors> <exit_nb_uniq_visitors>2</exit_nb_uniq_visitors>
</reportTotal> </reportTotal>
</result> </result>
\ No newline at end of file
...@@ -47,9 +47,9 @@ ...@@ -47,9 +47,9 @@
<label>/index.htm</label> <label>/index.htm</label>
<nb_visits>1</nb_visits> <nb_visits>1</nb_visits>
<nb_hits>1</nb_hits> <nb_hits>1</nb_hits>
<bounce_rate>0%</bounce_rate> <bounce_rate>100%</bounce_rate>
<avg_time_on_page>00:00:00</avg_time_on_page> <avg_time_on_page>00:00:00</avg_time_on_page>
<exit_rate>0%</exit_rate> <exit_rate>100%</exit_rate>
<avg_time_generation>0.12s</avg_time_generation> <avg_time_generation>0.12s</avg_time_generation>
</row> </row>
<row> <row>
...@@ -293,8 +293,10 @@ ...@@ -293,8 +293,10 @@
<nb_visits>18</nb_visits> <nb_visits>18</nb_visits>
<nb_uniq_visitors>18</nb_uniq_visitors> <nb_uniq_visitors>18</nb_uniq_visitors>
<nb_hits>28</nb_hits> <nb_hits>28</nb_hits>
<entry_bounce_count>0</entry_bounce_count> <entry_bounce_count>2</entry_bounce_count>
<entry_nb_visits>5</entry_nb_visits> <entry_nb_visits>7</entry_nb_visits>
<entry_nb_actions>25</entry_nb_actions> <entry_nb_actions>27</entry_nb_actions>
<exit_nb_visits>2</exit_nb_visits>
<exit_nb_uniq_visitors>2</exit_nb_uniq_visitors>
</reportTotal> </reportTotal>
</result> </result>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<results> <results>
<result idSite="1"> <result idSite="1">
<nb_uniq_visitors>1</nb_uniq_visitors> <nb_uniq_visitors>2</nb_uniq_visitors>
<nb_users>0</nb_users> <nb_users>0</nb_users>
<nb_visits>1</nb_visits> <nb_visits>2</nb_visits>
<nb_actions>1</nb_actions> <nb_actions>2</nb_actions>
<nb_visits_converted>1</nb_visits_converted> <nb_visits_converted>2</nb_visits_converted>
<bounce_count>1</bounce_count> <bounce_count>2</bounce_count>
<sum_visit_length>0</sum_visit_length> <sum_visit_length>0</sum_visit_length>
<max_actions>1</max_actions> <max_actions>1</max_actions>
<bounce_rate>100%</bounce_rate> <bounce_rate>100%</bounce_rate>
......
...@@ -3,15 +3,15 @@ ...@@ -3,15 +3,15 @@
<result idSite="1"> <result idSite="1">
<nb_uniq_visitors>2</nb_uniq_visitors> <nb_uniq_visitors>2</nb_uniq_visitors>
<nb_users>0</nb_users> <nb_users>0</nb_users>
<nb_visits>10</nb_visits> <nb_visits>11</nb_visits>
<nb_actions>43</nb_actions> <nb_actions>43</nb_actions>
<nb_visits_converted>10</nb_visits_converted> <nb_visits_converted>10</nb_visits_converted>
<bounce_count>1</bounce_count> <bounce_count>3</bounce_count>
<sum_visit_length>7577</sum_visit_length> <sum_visit_length>7216</sum_visit_length>
<max_actions>5</max_actions> <max_actions>5</max_actions>
<bounce_rate>10%</bounce_rate> <bounce_rate>27%</bounce_rate>
<nb_actions_per_visit>4.3</nb_actions_per_visit> <nb_actions_per_visit>3.9</nb_actions_per_visit>
<avg_time_on_site>758</avg_time_on_site> <avg_time_on_site>656</avg_time_on_site>
</result> </result>
<result idSite="2"> <result idSite="2">
<nb_uniq_visitors>1</nb_uniq_visitors> <nb_uniq_visitors>1</nb_uniq_visitors>
......
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<results> <results>
<result idSite="1"> <result idSite="1">
<nb_uniq_visitors>1</nb_uniq_visitors> <nb_uniq_visitors>2</nb_uniq_visitors>
<nb_users>0</nb_users> <nb_users>0</nb_users>
<nb_visits>1</nb_visits> <nb_visits>2</nb_visits>
<nb_actions>1</nb_actions> <nb_actions>2</nb_actions>
<nb_visits_converted>1</nb_visits_converted> <nb_visits_converted>2</nb_visits_converted>
<bounce_count>1</bounce_count> <bounce_count>2</bounce_count>
<sum_visit_length>0</sum_visit_length> <sum_visit_length>0</sum_visit_length>
<max_actions>1</max_actions> <max_actions>1</max_actions>
<bounce_rate>100%</bounce_rate> <bounce_rate>100%</bounce_rate>
......
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<results> <results>
<result idSite="1"> <result idSite="1">
<nb_visits>10</nb_visits> <nb_visits>11</nb_visits>
<nb_actions>43</nb_actions> <nb_actions>43</nb_actions>
<nb_visits_converted>10</nb_visits_converted> <nb_visits_converted>10</nb_visits_converted>
<bounce_count>1</bounce_count> <bounce_count>3</bounce_count>
<sum_visit_length>7577</sum_visit_length> <sum_visit_length>7216</sum_visit_length>
<max_actions>5</max_actions> <max_actions>5</max_actions>
<bounce_rate>10%</bounce_rate> <bounce_rate>27%</bounce_rate>
<nb_actions_per_visit>4.3</nb_actions_per_visit> <nb_actions_per_visit>3.9</nb_actions_per_visit>
<avg_time_on_site>758</avg_time_on_site> <avg_time_on_site>656</avg_time_on_site>
</result> </result>
<result idSite="2"> <result idSite="2">
<nb_visits>1</nb_visits> <nb_visits>1</nb_visits>
......
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<results> <results>
<result idSite="1"> <result idSite="1">
<nb_visits>10</nb_visits> <nb_visits>11</nb_visits>
<nb_actions>43</nb_actions> <nb_actions>43</nb_actions>
<nb_visits_converted>10</nb_visits_converted> <nb_visits_converted>10</nb_visits_converted>
<bounce_count>1</bounce_count> <bounce_count>3</bounce_count>
<sum_visit_length>7577</sum_visit_length> <sum_visit_length>7216</sum_visit_length>
<max_actions>5</max_actions> <max_actions>5</max_actions>
<bounce_rate>10%</bounce_rate> <bounce_rate>27%</bounce_rate>
<nb_actions_per_visit>4.3</nb_actions_per_visit> <nb_actions_per_visit>3.9</nb_actions_per_visit>
<avg_time_on_site>758</avg_time_on_site> <avg_time_on_site>656</avg_time_on_site>
</result> </result>
<result idSite="2"> <result idSite="2">
<nb_visits>1</nb_visits> <nb_visits>1</nb_visits>
......
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<results> <results>
<result idSite="1"> <result idSite="1">
<nb_visits>10</nb_visits> <nb_visits>11</nb_visits>
<nb_actions>43</nb_actions> <nb_actions>43</nb_actions>
<nb_visits_converted>10</nb_visits_converted> <nb_visits_converted>10</nb_visits_converted>
<bounce_count>1</bounce_count> <bounce_count>3</bounce_count>
<sum_visit_length>7577</sum_visit_length> <sum_visit_length>7216</sum_visit_length>
<max_actions>5</max_actions> <max_actions>5</max_actions>
<bounce_rate>10%</bounce_rate> <bounce_rate>27%</bounce_rate>
<nb_actions_per_visit>4.3</nb_actions_per_visit> <nb_actions_per_visit>3.9</nb_actions_per_visit>
<avg_time_on_site>758</avg_time_on_site> <avg_time_on_site>656</avg_time_on_site>
</result> </result>
<result idSite="2"> <result idSite="2">
<nb_visits>1</nb_visits> <nb_visits>1</nb_visits>
......
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<results> <results>
<result idSite="1"> <result idSite="1">
<nb_uniq_visitors>1</nb_uniq_visitors> <nb_uniq_visitors>2</nb_uniq_visitors>
<nb_users>0</nb_users> <nb_users>0</nb_users>
<nb_visits>1</nb_visits> <nb_visits>2</nb_visits>
<nb_actions>1</nb_actions> <nb_actions>2</nb_actions>
<nb_visits_converted>1</nb_visits_converted> <nb_visits_converted>2</nb_visits_converted>
<bounce_count>1</bounce_count> <bounce_count>2</bounce_count>
<sum_visit_length>0</sum_visit_length> <sum_visit_length>0</sum_visit_length>
<max_actions>1</max_actions> <max_actions>1</max_actions>
<bounce_rate>100%</bounce_rate> <bounce_rate>100%</bounce_rate>
......
...@@ -3,15 +3,15 @@ ...@@ -3,15 +3,15 @@
<result idSite="1"> <result idSite="1">
<nb_uniq_visitors>2</nb_uniq_visitors> <nb_uniq_visitors>2</nb_uniq_visitors>
<nb_users>0</nb_users> <nb_users>0</nb_users>
<nb_visits>10</nb_visits> <nb_visits>11</nb_visits>
<nb_actions>43</nb_actions> <nb_actions>43</nb_actions>
<nb_visits_converted>10</nb_visits_converted> <nb_visits_converted>10</nb_visits_converted>
<bounce_count>1</bounce_count> <bounce_count>3</bounce_count>
<sum_visit_length>7577</sum_visit_length> <sum_visit_length>7216</sum_visit_length>
<max_actions>5</max_actions> <max_actions>5</max_actions>
<bounce_rate>10%</bounce_rate> <bounce_rate>27%</bounce_rate>
<nb_actions_per_visit>4.3</nb_actions_per_visit> <nb_actions_per_visit>3.9</nb_actions_per_visit>
<avg_time_on_site>758</avg_time_on_site> <avg_time_on_site>656</avg_time_on_site>
</result> </result>
<result idSite="2"> <result idSite="2">
<nb_uniq_visitors>1</nb_uniq_visitors> <nb_uniq_visitors>1</nb_uniq_visitors>
......
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<results> <results>
<result idSite="1"> <result idSite="1">
<nb_uniq_visitors>1</nb_uniq_visitors> <nb_uniq_visitors>2</nb_uniq_visitors>
<nb_users>0</nb_users> <nb_users>0</nb_users>
<nb_visits>1</nb_visits> <nb_visits>2</nb_visits>
<nb_actions>1</nb_actions> <nb_actions>2</nb_actions>
<nb_visits_converted>1</nb_visits_converted> <nb_visits_converted>2</nb_visits_converted>
<bounce_count>1</bounce_count> <bounce_count>2</bounce_count>
<sum_visit_length>0</sum_visit_length> <sum_visit_length>0</sum_visit_length>
<max_actions>1</max_actions> <max_actions>1</max_actions>
<bounce_rate>100%</bounce_rate> <bounce_rate>100%</bounce_rate>
......
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<results> <results>
<result idSite="1"> <result idSite="1">
<nb_visits>10</nb_visits> <nb_visits>11</nb_visits>
<nb_actions>43</nb_actions> <nb_actions>43</nb_actions>
<nb_visits_converted>10</nb_visits_converted> <nb_visits_converted>10</nb_visits_converted>
<bounce_count>1</bounce_count> <bounce_count>3</bounce_count>
<sum_visit_length>7577</sum_visit_length> <sum_visit_length>7216</sum_visit_length>
<max_actions>5</max_actions> <max_actions>5</max_actions>
<bounce_rate>10%</bounce_rate> <bounce_rate>27%</bounce_rate>
<nb_actions_per_visit>4.3</nb_actions_per_visit> <nb_actions_per_visit>3.9</nb_actions_per_visit>
<avg_time_on_site>758</avg_time_on_site> <avg_time_on_site>656</avg_time_on_site>
</result> </result>
<result idSite="2"> <result idSite="2">
<nb_visits>1</nb_visits> <nb_visits>1</nb_visits>
......
...@@ -56,8 +56,8 @@ ...@@ -56,8 +56,8 @@
<result prettyDate="Sunday 3 January 2010"> <result prettyDate="Sunday 3 January 2010">
<row> <row>
<label>Site 1</label> <label>Site 1</label>
<nb_visits>1</nb_visits> <nb_visits>2</nb_visits>
<nb_actions>1</nb_actions> <nb_actions>2</nb_actions>
<nb_pageviews>2</nb_pageviews> <nb_pageviews>2</nb_pageviews>
<revenue>$ 10</revenue> <revenue>$ 10</revenue>
<visits_evolution>100%</visits_evolution> <visits_evolution>100%</visits_evolution>
...@@ -76,11 +76,11 @@ ...@@ -76,11 +76,11 @@
<row> <row>
<label>Site 1</label> <label>Site 1</label>
<nb_visits>1</nb_visits> <nb_visits>1</nb_visits>
<nb_actions>2</nb_actions> <nb_actions>1</nb_actions>
<nb_pageviews>1</nb_pageviews> <nb_pageviews>1</nb_pageviews>
<revenue>$ 0</revenue> <revenue>$ 0</revenue>
<visits_evolution>0%</visits_evolution> <visits_evolution>-50%</visits_evolution>
<actions_evolution>100%</actions_evolution> <actions_evolution>-50%</actions_evolution>
<pageviews_evolution>-50%</pageviews_evolution> <pageviews_evolution>-50%</pageviews_evolution>
<revenue_evolution>-100%</revenue_evolution> <revenue_evolution>-100%</revenue_evolution>
<nb_conversions>0</nb_conversions> <nb_conversions>0</nb_conversions>
...@@ -116,7 +116,7 @@ ...@@ -116,7 +116,7 @@
<nb_pageviews>5</nb_pageviews> <nb_pageviews>5</nb_pageviews>
<revenue>$ 5</revenue> <revenue>$ 5</revenue>
<visits_evolution>0%</visits_evolution> <visits_evolution>0%</visits_evolution>
<actions_evolution>150%</actions_evolution> <actions_evolution>400%</actions_evolution>
<pageviews_evolution>400%</pageviews_evolution> <pageviews_evolution>400%</pageviews_evolution>
<revenue_evolution>100%</revenue_evolution> <revenue_evolution>100%</revenue_evolution>
<nb_conversions>0</nb_conversions> <nb_conversions>0</nb_conversions>
...@@ -261,7 +261,7 @@ ...@@ -261,7 +261,7 @@
</result> </result>
</reportMetadata> </reportMetadata>
<reportTotal> <reportTotal>
<nb_visits>8</nb_visits> <nb_visits>9</nb_visits>
<nb_actions>31</nb_actions> <nb_actions>31</nb_actions>
<revenue>35</revenue> <revenue>35</revenue>
</reportTotal> </reportTotal>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<results> <results>
<result idSite="1"> <result idSite="1">
<nb_conversions>2</nb_conversions> <nb_conversions>2</nb_conversions>
<nb_visits_converted>1</nb_visits_converted> <nb_visits_converted>2</nb_visits_converted>
<revenue>10</revenue> <revenue>10</revenue>
<conversion_rate>100%</conversion_rate> <conversion_rate>100%</conversion_rate>
</result> </result>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<nb_conversions>14</nb_conversions> <nb_conversions>14</nb_conversions>
<nb_visits_converted>10</nb_visits_converted> <nb_visits_converted>10</nb_visits_converted>
<revenue>50</revenue> <revenue>50</revenue>
<conversion_rate>100%</conversion_rate> <conversion_rate>90.91%</conversion_rate>
</result> </result>
<result idSite="2"> <result idSite="2">
<nb_conversions>1</nb_conversions> <nb_conversions>1</nb_conversions>
......
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<results> <results>
<result idSite="1"> <result idSite="1">
<nb_uniq_visitors>1</nb_uniq_visitors> <nb_uniq_visitors>2</nb_uniq_visitors>
<nb_users>0</nb_users> <nb_users>0</nb_users>
<nb_visits>1</nb_visits> <nb_visits>2</nb_visits>
<nb_actions>1</nb_actions> <nb_actions>2</nb_actions>
<nb_visits_converted>1</nb_visits_converted> <nb_visits_converted>2</nb_visits_converted>
<bounce_count>1</bounce_count> <bounce_count>2</bounce_count>
<sum_visit_length>0</sum_visit_length> <sum_visit_length>0</sum_visit_length>
<max_actions>1</max_actions> <max_actions>1</max_actions>
<bounce_rate>100%</bounce_rate> <bounce_rate>100%</bounce_rate>
......
...@@ -3,15 +3,15 @@ ...@@ -3,15 +3,15 @@
<result idSite="1"> <result idSite="1">
<nb_uniq_visitors>2</nb_uniq_visitors> <nb_uniq_visitors>2</nb_uniq_visitors>
<nb_users>0</nb_users> <nb_users>0</nb_users>
<nb_visits>10</nb_visits> <nb_visits>11</nb_visits>
<nb_actions>43</nb_actions> <nb_actions>43</nb_actions>
<nb_visits_converted>10</nb_visits_converted> <nb_visits_converted>10</nb_visits_converted>
<bounce_count>1</bounce_count> <bounce_count>3</bounce_count>
<sum_visit_length>7577</sum_visit_length> <sum_visit_length>7216</sum_visit_length>
<max_actions>5</max_actions> <max_actions>5</max_actions>
<bounce_rate>10%</bounce_rate> <bounce_rate>27%</bounce_rate>
<nb_actions_per_visit>4.3</nb_actions_per_visit> <nb_actions_per_visit>3.9</nb_actions_per_visit>
<avg_time_on_site>758</avg_time_on_site> <avg_time_on_site>656</avg_time_on_site>
</result> </result>
<result idSite="2"> <result idSite="2">
<nb_uniq_visitors>1</nb_uniq_visitors> <nb_uniq_visitors>1</nb_uniq_visitors>
......
...@@ -66,18 +66,18 @@ ...@@ -66,18 +66,18 @@
</row> </row>
<row> <row>
<lastActionDateTime>2010-01-04 00:01:00</lastActionDateTime> <lastActionDateTime>2010-01-04 00:01:00</lastActionDateTime>
<visitConverted>1</visitConverted> <visitConverted>0</visitConverted>
<actions>2</actions> <actions>1</actions>
<referrerType>website</referrerType> <referrerType>website</referrerType>
<referrerName>referrer.com</referrerName> <referrerName>referrer.com</referrerName>
<events>0</events> <events>0</events>
</row> </row>
<row> <row>
<lastActionDateTime>2010-01-03 12:22:33</lastActionDateTime> <lastActionDateTime>2010-01-03 23:55:00</lastActionDateTime>
<visitConverted>1</visitConverted> <visitConverted>1</visitConverted>
<actions>1</actions> <actions>1</actions>
<referrerType>direct</referrerType> <referrerType>website</referrerType>
<referrerName /> <referrerName>referrer.com</referrerName>
<events>0</events> <events>0</events>
</row> </row>
</result> </result>
\ No newline at end of file
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter