Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xconfig/global.ini.php6
-rw-r--r--core/ArchiveProcessor/PluginsArchiver.php7
-rw-r--r--core/DataAccess/LogAggregator.php110
-rw-r--r--core/DataAccess/LogQueryBuilder.php7
-rw-r--r--core/DataAccess/LogQueryBuilder/JoinGenerator.php15
-rw-r--r--core/DataAccess/LogQueryBuilder/JoinTables.php8
-rw-r--r--core/DataAccess/LogTableTemporary.php47
-rw-r--r--core/Plugin/LogTablesProvider.php35
-rw-r--r--core/RankingQuery.php2
-rw-r--r--core/Tracker/LogTable.php11
-rwxr-xr-x[-rw-r--r--]plugins/Contents/tests/System/expected/test_Contents_contentInteractionMatch__Actions.getPageUrls_day.xml31
-rwxr-xr-x[-rw-r--r--]plugins/Contents/tests/System/expected/test_Contents_contentInteractionMatch__Contents.getContentNames_day.xml33
-rwxr-xr-x[-rw-r--r--]plugins/Contents/tests/System/expected/test_Contents_contentInteractionMatch__Contents.getContentPieces_day.xml72
-rwxr-xr-x[-rw-r--r--]plugins/Contents/tests/System/expected/test_Contents_contentTargetMatch__Actions.getPageUrls_day.xml31
-rwxr-xr-x[-rw-r--r--]plugins/Contents/tests/System/expected/test_Contents_contentTargetMatch__Contents.getContentNames_day.xml28
-rwxr-xr-x[-rw-r--r--]plugins/Contents/tests/System/expected/test_Contents_contentTargetMatch__Contents.getContentPieces_day.xml49
-rwxr-xr-x[-rw-r--r--]plugins/Contents/tests/System/expected/test_ContentscontentNameOrPieceMatch__Actions.getPageUrls_day.xml31
-rwxr-xr-x[-rw-r--r--]plugins/Contents/tests/System/expected/test_ContentscontentNameOrPieceMatch__Contents.getContentNames_day.xml22
-rwxr-xr-x[-rw-r--r--]plugins/Contents/tests/System/expected/test_ContentscontentNameOrPieceMatch__Contents.getContentPieces_day.xml20
-rw-r--r--plugins/CoreHome/Tracker/LogTable/Conversion.php5
-rw-r--r--plugins/CoreHome/Tracker/LogTable/LinkVisitAction.php5
-rw-r--r--plugins/CoreHome/Tracker/LogTable/Visit.php5
-rw-r--r--plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsCategory_day.xml48
-rw-r--r--plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsCategory_week.xml48
-rw-r--r--plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsName_day.xml24
-rw-r--r--plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsName_week.xml24
-rw-r--r--plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsSku_day.xml24
-rw-r--r--plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsSku_week.xml24
-rw-r--r--tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldAppear__Actions.getPageUrls_month.xml70
-rw-r--r--tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear_BecauseDayWasNotInvalidated__Actions.getPageUrls_day.xml70
-rw-r--r--tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear__Actions.getPageUrls_month.xml70
-rw-r--r--tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Actions.getPageUrls_day.xml57
-rw-r--r--tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getAction_day.xml37
-rw-r--r--tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getCategory_day.xml50
-rw-r--r--tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getName_day.xml50
-rw-r--r--tests/PHPUnit/System/expected/test_CustomEvents_eventValueMatch__Actions.getPageUrls_day.xml57
-rw-r--r--tests/PHPUnit/System/expected/test_CustomEvents_eventValueMatch__Events.getAction_day.xml346
-rw-r--r--tests/PHPUnit/System/expected/test_CustomEvents_eventValueMatch__Events.getCategory_day.xml221
-rw-r--r--tests/PHPUnit/System/expected/test_CustomEvents_eventValueMatch__Events.getName_day.xml286
-rw-r--r--tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Actions.getPageUrls_day.xml57
-rw-r--r--tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getAction_day.xml123
-rw-r--r--tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getCategory_day.xml122
-rw-r--r--tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getName_day.xml135
-rw-r--r--tests/PHPUnit/System/expected/test_UrlNormalization_pagesSegmented__Actions.getPageUrls_day.xml108
-rw-r--r--tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContainsStrangeCharacters__Actions.getPageTitles_day.xml37
-rw-r--r--tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__Actions.getPageTitles_day.xml21
-rw-r--r--tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__Actions.getPageUrls_day.xml22
-rw-r--r--tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleEndsWith__Actions.getPageTitles_day.xml18
-rw-r--r--tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__Actions.getPageTitles_day.xml38
-rw-r--r--tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__Actions.getPageUrls_day.xml40
-rw-r--r--tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleStartsWith__Actions.getPageTitles_day.xml21
-rw-r--r--tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__Actions.getPageTitles_day.xml21
-rw-r--r--tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__Actions.getPageUrls_day.xml22
-rw-r--r--tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlEndsWith__Actions.getPageUrls_day.xml22
-rw-r--r--tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__Actions.getPageTitles_day.xml38
-rw-r--r--tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__Actions.getPageUrls_day.xml40
-rw-r--r--tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlStartsWith__Actions.getPageUrls_day.xml40
-rw-r--r--tests/UI/expected-screenshots/UIIntegrationTest_admin_diagnostics_configfile.png4
-rw-r--r--tests/UI/specs/UIIntegration_spec.js5
59 files changed, 2807 insertions, 213 deletions
diff --git a/config/global.ini.php b/config/global.ini.php
index 56fd553f2d..663e19f317 100755
--- a/config/global.ini.php
+++ b/config/global.ini.php
@@ -208,6 +208,12 @@ enable_processing_unique_visitors_multiple_sites = 0
enabled_periods_UI = "day,week,month,year,range"
enabled_periods_API = "day,week,month,year,range"
+; whether to enable segment archiving cache
+; Note: if you use any plugins, this need to be compliant with Matomo and
+; * depending on the segment you create you may need a newer MySQL version (eg 5.7 or newer)
+; * use a reader database for archiving in case you have configured a database reader
+enable_segments_cache = 1
+
; whether to enable subquery cache for Custom Segment archiving queries
enable_segments_subquery_cache = 0
; Any segment subquery that matches more than segments_subquery_cache_limit IDs will not be cached,
diff --git a/core/ArchiveProcessor/PluginsArchiver.php b/core/ArchiveProcessor/PluginsArchiver.php
index 99d4ad7e70..f7590be14a 100644
--- a/core/ArchiveProcessor/PluginsArchiver.php
+++ b/core/ArchiveProcessor/PluginsArchiver.php
@@ -68,6 +68,7 @@ class PluginsArchiver
$this->archiveWriter->initNewArchive();
$this->logAggregator = new LogAggregator($params);
+ $this->logAggregator->cleanup(); // in case the archiving failed earlier and the mysql wouldn't drop the temp table automatically
$this->archiveProcessor = new ArchiveProcessor($this->params, $this->archiveWriter, $this->logAggregator);
@@ -198,7 +199,11 @@ class PluginsArchiver
{
$this->params->logStatusDebug();
$this->archiveWriter->finalizeArchive();
- return $this->archiveWriter->getIdArchive();
+ $idArchive = $this->archiveWriter->getIdArchive();
+
+ $this->logAggregator->cleanup();
+
+ return $idArchive;
}
/**
diff --git a/core/DataAccess/LogAggregator.php b/core/DataAccess/LogAggregator.php
index ada5e405ab..ce594aabde 100644
--- a/core/DataAccess/LogAggregator.php
+++ b/core/DataAccess/LogAggregator.php
@@ -10,12 +10,18 @@ namespace Piwik\DataAccess;
use Piwik\ArchiveProcessor\Parameters;
use Piwik\Common;
+use Piwik\Config;
use Piwik\Container\StaticContainer;
use Piwik\DataArray;
use Piwik\Date;
use Piwik\Db;
+use Piwik\DbHelper;
use Piwik\Metrics;
use Piwik\Period;
+use Piwik\Piwik;
+use Piwik\Plugin\LogTablesProvider;
+use Piwik\Segment;
+use Piwik\Segment\SegmentExpression;
use Piwik\Tracker\GoalManager;
use Psr\Log\LoggerInterface;
@@ -127,6 +133,8 @@ class LogAggregator
const FIELDS_SEPARATOR = ", \n\t\t\t";
+ const LOG_TABLE_SEGMENT_TEMPORARY_PREFIX = 'logtmpsegment';
+
/** @var \Piwik\Date */
protected $dateStart;
@@ -149,6 +157,10 @@ class LogAggregator
*/
private $logger;
+ /**
+ * @var bool
+ */
+ private $isRootArchiveRequest;
/**
* Constructor.
@@ -161,6 +173,7 @@ class LogAggregator
$this->dateEnd = $params->getDateTimeEnd();
$this->segment = $params->getSegment();
$this->sites = $params->getIdSites();
+ $this->isRootArchiveRequest = $params->isRootArchiveRequest();
$this->logger = $logger ?: StaticContainer::get('Psr\Log\LoggerInterface');
}
@@ -174,10 +187,103 @@ class LogAggregator
$this->queryOriginHint = $nameOfOrigiin;
}
+ private function getSegmentTmpTableName()
+ {
+ $bind = $this->getGeneralQueryBindParams();
+ return self::LOG_TABLE_SEGMENT_TEMPORARY_PREFIX . md5(json_encode($bind) . $this->segment->getString());
+ }
+
+ public function cleanup()
+ {
+ if (!$this->segment->isEmpty() && $this->isSegmentCacheEnabled()) {
+ $segmentTable = $this->getSegmentTmpTableName();
+ $segmentTable = Common::prefixTable($segmentTable);
+
+ try {
+ // using DROP TABLE IF EXISTS would not work on a DB reader if the table doesn't exist...
+ Db::getReader()->fetchOne('SELECT 1 FROM ' . $segmentTable . ' LIMIT 1');
+ $tableExists = true;
+ } catch (\Exception $e) {
+ $tableExists = false;
+ }
+
+ if ($tableExists) {
+ // safety in case an older MySQL version is used that does not drop table at the end of the connection
+ // automatically. also helps us release disk space/memory earlier when multiple segments are archived
+ Db::getReader()->query('DROP TABLE IF EXISTS ' . $segmentTable);
+ }
+
+ $logTablesProvider = $this->getLogTableProvider();
+ if ($logTablesProvider->getLogTable($segmentTable)) {
+ $logTablesProvider->setTempTable(null); // no longer available
+ }
+ }
+ }
+
+ private function isSegmentCacheEnabled()
+ {
+ $config = Config::getInstance();
+ $general = $config->General;
+ return !empty($general['enable_segments_cache']);
+ }
+
+ private function getLogTableProvider()
+ {
+ return StaticContainer::get(LogTablesProvider::class);
+ }
+
public function generateQuery($select, $from, $where, $groupBy, $orderBy, $limit = 0, $offset = 0)
{
+ $segment = $this->segment;
$bind = $this->getGeneralQueryBindParams();
- $query = $this->segment->getSelectQuery($select, $from, $where, $bind, $orderBy, $groupBy, $limit, $offset);
+
+ if (!$this->segment->isEmpty() && $this->isSegmentCacheEnabled()) {
+ // here we create the TMP table and apply the segment including the datetime and the requested idsite
+ // at the end we generated query will no longer need to apply the datetime/idsite and segment
+ $segment = new Segment('', $this->sites);
+
+ $segmentTable = $this->getSegmentTmpTableName();
+
+ $segmentWhere = $this->getWhereStatement('log_visit', 'visit_last_action_time');
+ $segmentBind = $this->getGeneralQueryBindParams();
+
+ $logQueryBuilder = StaticContainer::get('Piwik\DataAccess\LogQueryBuilder');
+ $forceGroupByBackup = $logQueryBuilder->getForcedInnerGroupBySubselect();
+ $logQueryBuilder->forceInnerGroupBySubselect('');
+ $segmentSql = $this->segment->getSelectQuery('distinct log_visit.idvisit as idvisit', 'log_visit', $segmentWhere, $segmentBind, 'log_visit.idvisit ASC');
+ $logQueryBuilder->forceInnerGroupBySubselect($forceGroupByBackup);
+
+ Db::getReader()->query('CREATE TEMPORARY TABLE IF NOT EXISTS ' . Common::prefixTable($segmentTable) . ' (idvisit BIGINT(10) UNSIGNED NOT NULL) ' . $segmentSql['sql'], $segmentSql['bind']);
+
+ if (!is_array($from)) {
+ $from = array($segmentTable, $from);
+ } else {
+ array_unshift($from, $segmentTable);
+ }
+
+ $logTablesProvider = $this->getLogTableProvider();
+ $logTablesProvider->setTempTable(new LogTableTemporary($segmentTable));
+
+ foreach ($logTablesProvider->getAllLogTables() as $logTable) {
+ if ($logTable->getDateTimeColumn()) {
+ $whereTest = $this->getWhereStatement($logTable->getName(), $logTable->getDateTimeColumn());
+ if (strpos($where, $whereTest) === 0) {
+ // we don't need to apply the where statement again as it would have been applied already
+ // in the temporary table... instead it should join the tables through the idvisit index
+ $where = ltrim(str_replace($whereTest, '', $where));
+ if (stripos($where, 'and ') === 0) {
+ $where = substr($where, strlen('and '));
+ }
+ $bind = array_slice($bind, 3);
+ break;
+ }
+ }
+
+ }
+
+ }
+
+ $query = $segment->getSelectQuery($select, $from, $where, $bind, $orderBy, $groupBy, $limit, $offset);
$select = 'SELECT';
if ($this->queryOriginHint && is_array($query) && 0 === strpos(trim($query['sql']), $select)) {
@@ -185,7 +291,7 @@ class LogAggregator
$query['sql'] = 'SELECT /* ' . $this->queryOriginHint . ' */' . substr($query['sql'], strlen($select));
}
- // Log on DEBUG level all SQL archiving queries
+ // Log on DEBUG level all SQL archiving queries
$this->logger->debug($query['sql']);
return $query;
diff --git a/core/DataAccess/LogQueryBuilder.php b/core/DataAccess/LogQueryBuilder.php
index e2b130de4d..32dc6a384a 100644
--- a/core/DataAccess/LogQueryBuilder.php
+++ b/core/DataAccess/LogQueryBuilder.php
@@ -42,6 +42,11 @@ class LogQueryBuilder
$this->forcedInnerGroupBy = $innerGroupBy;
}
+ public function getForcedInnerGroupBySubselect()
+ {
+ return $this->forcedInnerGroupBy;
+ }
+
public function getSelectQueryString(SegmentExpression $segmentExpression, $select, $from, $where, $bind, $groupBy,
$orderBy, $limitAndOffset)
{
@@ -89,7 +94,7 @@ class LogQueryBuilder
private function getKnownTables()
{
$names = array();
- foreach ($this->logTableProvider->getAllLogTables() as $logTable) {
+ foreach ($this->logTableProvider->getAllLogTablesWithTemporary() as $logTable) {
$names[] = $logTable->getName();
}
return $names;
diff --git a/core/DataAccess/LogQueryBuilder/JoinGenerator.php b/core/DataAccess/LogQueryBuilder/JoinGenerator.php
index 5cc5d48f63..08f6ebdc2a 100644
--- a/core/DataAccess/LogQueryBuilder/JoinGenerator.php
+++ b/core/DataAccess/LogQueryBuilder/JoinGenerator.php
@@ -11,6 +11,7 @@ namespace Piwik\DataAccess\LogQueryBuilder;
use Exception;
use Piwik\Common;
+use Piwik\DataAccess\LogAggregator;
use Piwik\Tracker\LogTable;
class JoinGenerator
@@ -190,8 +191,20 @@ class JoinGenerator
continue;
}
+ $joinName = 'LEFT JOIN';
+ if ($i > 0
+ && $this->tables[$i - 1]
+ && is_string($this->tables[$i - 1])
+ && strpos($this->tables[$i - 1], LogAggregator::LOG_TABLE_SEGMENT_TEMPORARY_PREFIX) === 0) {
+ $joinName = 'INNER JOIN';
+ // when we archive a segment there will be eg `logtmpsegment$HASH` as first table.
+ // then we join log_conversion for example... if we didn't use INNER JOIN we would as a result
+ // get rows for visits even when they didn't have a conversion. Instead we only want to find rows
+ // that have an entry in both tables when doing eg
+ // logtmpsegment57cd546b7203d68a41027547c4abe1a2.idvisit = log_conversion.idvisit
+ }
// the join sql the default way
- $this->joinString .= " LEFT JOIN $tableSql ON " . $join;
+ $this->joinString .= " $joinName $tableSql ON " . $join;
}
$availableLogTables[$table] = $logTable;
diff --git a/core/DataAccess/LogQueryBuilder/JoinTables.php b/core/DataAccess/LogQueryBuilder/JoinTables.php
index a5b1f34d89..efce94d3e9 100644
--- a/core/DataAccess/LogQueryBuilder/JoinTables.php
+++ b/core/DataAccess/LogQueryBuilder/JoinTables.php
@@ -10,6 +10,7 @@
namespace Piwik\DataAccess\LogQueryBuilder;
use Exception;
+use Piwik\DataAccess\LogAggregator;
use Piwik\Plugin\LogTablesProvider;
class JoinTables extends \ArrayObject
@@ -148,10 +149,15 @@ class JoinTables extends \ArrayObject
// the first entry is always the FROM table
$firstTable = array_shift($tables);
+ $sorted = [$firstTable];
+
+ if (strpos($firstTable, LogAggregator::LOG_TABLE_SEGMENT_TEMPORARY_PREFIX) === 0) {
+ // the first table might be a temporary segment table in which case we need to keep the next one as well
+ $sorted[] = array_shift($tables);
+ }
$dependencies = $this->parseDependencies($tables);
- $sorted = [$firstTable];
$this->visitTableListDfs($tables, $dependencies, function ($tableInfo) use (&$sorted) {
$sorted[] = $tableInfo;
});
diff --git a/core/DataAccess/LogTableTemporary.php b/core/DataAccess/LogTableTemporary.php
new file mode 100644
index 0000000000..8be027c114
--- /dev/null
+++ b/core/DataAccess/LogTableTemporary.php
@@ -0,0 +1,47 @@
+<?php
+/**
+ * Matomo - free/libre analytics platform
+ *
+ * @link https://matomo.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+namespace Piwik\DataAccess;
+
+use Piwik\Common;
+use Piwik\Config;
+use Piwik\Db;
+use Piwik\Tracker\LogTable;
+
+class LogTableTemporary extends LogTable
+{
+ private $tableName;
+ public function __construct($name)
+ {
+ $this->tableName = $name;
+ }
+
+ public function setName($name)
+ {
+ $this->tableName = $name;
+ }
+
+ public function getName()
+ {
+ return $this->tableName;
+ }
+
+ public function getIdColumn()
+ {
+ return 'idvist';
+ }
+
+ public function getColumnToJoinOnIdVisit()
+ {
+ return 'idvisit';
+ }
+ public function getPrimaryKey()
+ {
+ return array('idvisit');
+ }
+} \ No newline at end of file
diff --git a/core/Plugin/LogTablesProvider.php b/core/Plugin/LogTablesProvider.php
index 97381bb77b..8cd5884f22 100644
--- a/core/Plugin/LogTablesProvider.php
+++ b/core/Plugin/LogTablesProvider.php
@@ -9,6 +9,7 @@
namespace Piwik\Plugin;
use Piwik\Container\StaticContainer;
+use Piwik\DataAccess\LogTableTemporary;
use Piwik\Piwik;
use Piwik\Tracker\LogTable;
@@ -24,6 +25,11 @@ class LogTablesProvider {
*/
private $tablesCache;
+ /**
+ * @var LogTableTemporary
+ */
+ private $tempTable;
+
public function __construct(Manager $pluginManager)
{
$this->pluginManager = $pluginManager;
@@ -37,6 +43,9 @@ class LogTablesProvider {
*/
public function getLogTable($tableNameWithoutPrefix)
{
+ if ($this->tempTable && $this->tempTable->getName() === $tableNameWithoutPrefix) {
+ return $this->tempTable;
+ }
foreach ($this->getAllLogTables() as $table) {
if ($table->getName() === $tableNameWithoutPrefix) {
return $table;
@@ -45,6 +54,32 @@ class LogTablesProvider {
}
/**
+ * @param LogTableTemporary|null $table
+ */
+ public function setTempTable($table)
+ {
+ $this->tempTable = $table;
+ }
+
+ public function clearCache()
+ {
+ $this->tablesCache = null;
+ }
+
+ /**
+ * Needed for log query builder
+ * @return LogTable[]
+ */
+ public function getAllLogTablesWithTemporary()
+ {
+ $tables = $this->getAllLogTables();
+ if ($this->tempTable) {
+ $tables[] = $this->tempTable;
+ }
+ return $tables;
+ }
+
+ /**
* Get all log table instances defined by any activated and loaded plugin. The returned tables are not sorted in
* any order.
* @return LogTable[]
diff --git a/core/RankingQuery.php b/core/RankingQuery.php
index 0f84a59995..c784000393 100644
--- a/core/RankingQuery.php
+++ b/core/RankingQuery.php
@@ -226,7 +226,7 @@ class RankingQuery
public function execute($innerQuery, $bind = array())
{
$query = $this->generateRankingQuery($innerQuery);
- $data = Db::fetchAll($query, $bind);
+ $data = Db::getReader()->fetchAll($query, $bind);
if ($this->columnToMarkExcludedRows !== false) {
// split the result into the regular result and the rows with special treatment
diff --git a/core/Tracker/LogTable.php b/core/Tracker/LogTable.php
index b077069f99..164abb33b8 100644
--- a/core/Tracker/LogTable.php
+++ b/core/Tracker/LogTable.php
@@ -79,6 +79,17 @@ abstract class LogTable {
{
return false;
}
+
+ /**
+ * Defines a column that stores the date/time at which time an entry was written or updated. Setting this
+ * can help improve the performance of some archive queries. For example the log_link_visit_action table would define
+ * server_time while log_visit would define visit_last_action_time
+ * @return string
+ */
+ public function getDateTimeColumn()
+ {
+ return '';
+ }
/**
* Returns the name of a log table that allows to join on a visit. Eg if there is a table "action", and it is not
diff --git a/plugins/Contents/tests/System/expected/test_Contents_contentInteractionMatch__Actions.getPageUrls_day.xml b/plugins/Contents/tests/System/expected/test_Contents_contentInteractionMatch__Actions.getPageUrls_day.xml
index c234bed59e..97b0082789 100644..100755
--- a/plugins/Contents/tests/System/expected/test_Contents_contentInteractionMatch__Actions.getPageUrls_day.xml
+++ b/plugins/Contents/tests/System/expected/test_Contents_contentInteractionMatch__Actions.getPageUrls_day.xml
@@ -1,2 +1,31 @@
<?xml version="1.0" encoding="utf-8" ?>
-<result /> \ No newline at end of file
+<result>
+ <row>
+ <label>/page</label>
+ <nb_visits>2</nb_visits>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_hits>2</nb_hits>
+ <sum_time_spent>540</sum_time_spent>
+ <nb_hits_with_time_generation>2</nb_hits_with_time_generation>
+ <min_time_generation>0.333</min_time_generation>
+ <max_time_generation>0.333</max_time_generation>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <entry_nb_uniq_visitors>2</entry_nb_uniq_visitors>
+ <entry_nb_visits>2</entry_nb_visits>
+ <entry_nb_actions>2</entry_nb_actions>
+ <entry_sum_visit_length>542</entry_sum_visit_length>
+ <entry_bounce_count>2</entry_bounce_count>
+ <exit_nb_uniq_visitors>2</exit_nb_uniq_visitors>
+ <exit_nb_visits>2</exit_nb_visits>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>270</avg_time_on_page>
+ <bounce_rate>100%</bounce_rate>
+ <exit_rate>100%</exit_rate>
+ <avg_time_generation>0.333</avg_time_generation>
+ <url>http://www.example.org/page</url>
+ <segment>pageUrl==http%3A%2F%2Fwww.example.org%2Fpage</segment>
+ </row>
+</result> \ No newline at end of file
diff --git a/plugins/Contents/tests/System/expected/test_Contents_contentInteractionMatch__Contents.getContentNames_day.xml b/plugins/Contents/tests/System/expected/test_Contents_contentInteractionMatch__Contents.getContentNames_day.xml
index c234bed59e..aab05b8c9c 100644..100755
--- a/plugins/Contents/tests/System/expected/test_Contents_contentInteractionMatch__Contents.getContentNames_day.xml
+++ b/plugins/Contents/tests/System/expected/test_Contents_contentInteractionMatch__Contents.getContentNames_day.xml
@@ -1,2 +1,33 @@
<?xml version="1.0" encoding="utf-8" ?>
-<result /> \ No newline at end of file
+<result>
+ <row>
+ <label>ImageAd</label>
+ <nb_uniq_visitors>8</nb_uniq_visitors>
+ <nb_visits>8</nb_visits>
+ <nb_impressions>8</nb_impressions>
+ <nb_interactions>2</nb_interactions>
+ <interaction_rate>25%</interaction_rate>
+ <contentTarget>http://www.example.com</contentTarget>
+ <segment>contentName==ImageAd</segment>
+ </row>
+ <row>
+ <label>Text Ad</label>
+ <nb_uniq_visitors>6</nb_uniq_visitors>
+ <nb_visits>6</nb_visits>
+ <nb_impressions>6</nb_impressions>
+ <nb_interactions>4</nb_interactions>
+ <interaction_rate>66.67%</interaction_rate>
+ <contentTarget>http://piwik.org/</contentTarget>
+ <segment>contentName==Text+Ad</segment>
+ </row>
+ <row>
+ <label>Video Ad</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_impressions>4</nb_impressions>
+ <nb_interactions>0</nb_interactions>
+ <interaction_rate>0%</interaction_rate>
+ <contentTarget />
+ <segment>contentName==Video+Ad</segment>
+ </row>
+</result> \ No newline at end of file
diff --git a/plugins/Contents/tests/System/expected/test_Contents_contentInteractionMatch__Contents.getContentPieces_day.xml b/plugins/Contents/tests/System/expected/test_Contents_contentInteractionMatch__Contents.getContentPieces_day.xml
index c234bed59e..ccdd21b1d9 100644..100755
--- a/plugins/Contents/tests/System/expected/test_Contents_contentInteractionMatch__Contents.getContentPieces_day.xml
+++ b/plugins/Contents/tests/System/expected/test_Contents_contentInteractionMatch__Contents.getContentPieces_day.xml
@@ -1,2 +1,72 @@
<?xml version="1.0" encoding="utf-8" ?>
-<result /> \ No newline at end of file
+<result>
+ <row>
+ <label>Click to download Piwik now</label>
+ <nb_uniq_visitors>4</nb_uniq_visitors>
+ <nb_visits>4</nb_visits>
+ <nb_impressions>4</nb_impressions>
+ <nb_interactions>2</nb_interactions>
+ <interaction_rate>50%</interaction_rate>
+ <contentTarget>http://piwik.org/download</contentTarget>
+ <segment>contentPiece==Click+to+download+Piwik+now</segment>
+ </row>
+ <row>
+ <label>/path/ad.jpg</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_impressions>2</nb_impressions>
+ <nb_interactions>2</nb_interactions>
+ <interaction_rate>100%</interaction_rate>
+ <contentTarget>http://www.example.com</contentTarget>
+ <segment>contentPiece==%2Fpath%2Fad.jpg</segment>
+ </row>
+ <row>
+ <label>/path/ad2.jpg</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_impressions>2</nb_impressions>
+ <nb_interactions>0</nb_interactions>
+ <interaction_rate>0%</interaction_rate>
+ <contentTarget>http://www.example.com</contentTarget>
+ <segment>contentPiece==%2Fpath%2Fad2.jpg</segment>
+ </row>
+ <row>
+ <label>Click NOW</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_impressions>2</nb_impressions>
+ <nb_interactions>2</nb_interactions>
+ <interaction_rate>100%</interaction_rate>
+ <contentTarget>http://piwik.org/</contentTarget>
+ <segment>contentPiece==Click+NOW</segment>
+ </row>
+ <row>
+ <label>Content Piece not defined</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_impressions>2</nb_impressions>
+ <nb_interactions>0</nb_interactions>
+ <interaction_rate>0%</interaction_rate>
+ <contentTarget />
+ </row>
+ <row>
+ <label>movie.mov</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_impressions>4</nb_impressions>
+ <nb_interactions>0</nb_interactions>
+ <interaction_rate>0%</interaction_rate>
+ <contentTarget />
+ <segment>contentPiece==movie.mov</segment>
+ </row>
+ <row>
+ <label>Unknown</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_impressions>2</nb_impressions>
+ <nb_interactions>0</nb_interactions>
+ <interaction_rate>0%</interaction_rate>
+ <contentTarget />
+ <segment>contentPiece==Unknown</segment>
+ </row>
+</result> \ No newline at end of file
diff --git a/plugins/Contents/tests/System/expected/test_Contents_contentTargetMatch__Actions.getPageUrls_day.xml b/plugins/Contents/tests/System/expected/test_Contents_contentTargetMatch__Actions.getPageUrls_day.xml
index c234bed59e..97b0082789 100644..100755
--- a/plugins/Contents/tests/System/expected/test_Contents_contentTargetMatch__Actions.getPageUrls_day.xml
+++ b/plugins/Contents/tests/System/expected/test_Contents_contentTargetMatch__Actions.getPageUrls_day.xml
@@ -1,2 +1,31 @@
<?xml version="1.0" encoding="utf-8" ?>
-<result /> \ No newline at end of file
+<result>
+ <row>
+ <label>/page</label>
+ <nb_visits>2</nb_visits>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_hits>2</nb_hits>
+ <sum_time_spent>540</sum_time_spent>
+ <nb_hits_with_time_generation>2</nb_hits_with_time_generation>
+ <min_time_generation>0.333</min_time_generation>
+ <max_time_generation>0.333</max_time_generation>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <entry_nb_uniq_visitors>2</entry_nb_uniq_visitors>
+ <entry_nb_visits>2</entry_nb_visits>
+ <entry_nb_actions>2</entry_nb_actions>
+ <entry_sum_visit_length>542</entry_sum_visit_length>
+ <entry_bounce_count>2</entry_bounce_count>
+ <exit_nb_uniq_visitors>2</exit_nb_uniq_visitors>
+ <exit_nb_visits>2</exit_nb_visits>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>270</avg_time_on_page>
+ <bounce_rate>100%</bounce_rate>
+ <exit_rate>100%</exit_rate>
+ <avg_time_generation>0.333</avg_time_generation>
+ <url>http://www.example.org/page</url>
+ <segment>pageUrl==http%3A%2F%2Fwww.example.org%2Fpage</segment>
+ </row>
+</result> \ No newline at end of file
diff --git a/plugins/Contents/tests/System/expected/test_Contents_contentTargetMatch__Contents.getContentNames_day.xml b/plugins/Contents/tests/System/expected/test_Contents_contentTargetMatch__Contents.getContentNames_day.xml
index f0c23afff4..aab05b8c9c 100644..100755
--- a/plugins/Contents/tests/System/expected/test_Contents_contentTargetMatch__Contents.getContentNames_day.xml
+++ b/plugins/Contents/tests/System/expected/test_Contents_contentTargetMatch__Contents.getContentNames_day.xml
@@ -2,12 +2,32 @@
<result>
<row>
<label>ImageAd</label>
- <nb_uniq_visitors>4</nb_uniq_visitors>
- <nb_visits>4</nb_visits>
- <nb_impressions>4</nb_impressions>
+ <nb_uniq_visitors>8</nb_uniq_visitors>
+ <nb_visits>8</nb_visits>
+ <nb_impressions>8</nb_impressions>
<nb_interactions>2</nb_interactions>
- <interaction_rate>50%</interaction_rate>
+ <interaction_rate>25%</interaction_rate>
<contentTarget>http://www.example.com</contentTarget>
<segment>contentName==ImageAd</segment>
</row>
+ <row>
+ <label>Text Ad</label>
+ <nb_uniq_visitors>6</nb_uniq_visitors>
+ <nb_visits>6</nb_visits>
+ <nb_impressions>6</nb_impressions>
+ <nb_interactions>4</nb_interactions>
+ <interaction_rate>66.67%</interaction_rate>
+ <contentTarget>http://piwik.org/</contentTarget>
+ <segment>contentName==Text+Ad</segment>
+ </row>
+ <row>
+ <label>Video Ad</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_impressions>4</nb_impressions>
+ <nb_interactions>0</nb_interactions>
+ <interaction_rate>0%</interaction_rate>
+ <contentTarget />
+ <segment>contentName==Video+Ad</segment>
+ </row>
</result> \ No newline at end of file
diff --git a/plugins/Contents/tests/System/expected/test_Contents_contentTargetMatch__Contents.getContentPieces_day.xml b/plugins/Contents/tests/System/expected/test_Contents_contentTargetMatch__Contents.getContentPieces_day.xml
index ae70087a09..ccdd21b1d9 100644..100755
--- a/plugins/Contents/tests/System/expected/test_Contents_contentTargetMatch__Contents.getContentPieces_day.xml
+++ b/plugins/Contents/tests/System/expected/test_Contents_contentTargetMatch__Contents.getContentPieces_day.xml
@@ -1,6 +1,16 @@
<?xml version="1.0" encoding="utf-8" ?>
<result>
<row>
+ <label>Click to download Piwik now</label>
+ <nb_uniq_visitors>4</nb_uniq_visitors>
+ <nb_visits>4</nb_visits>
+ <nb_impressions>4</nb_impressions>
+ <nb_interactions>2</nb_interactions>
+ <interaction_rate>50%</interaction_rate>
+ <contentTarget>http://piwik.org/download</contentTarget>
+ <segment>contentPiece==Click+to+download+Piwik+now</segment>
+ </row>
+ <row>
<label>/path/ad.jpg</label>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_visits>2</nb_visits>
@@ -20,4 +30,43 @@
<contentTarget>http://www.example.com</contentTarget>
<segment>contentPiece==%2Fpath%2Fad2.jpg</segment>
</row>
+ <row>
+ <label>Click NOW</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_impressions>2</nb_impressions>
+ <nb_interactions>2</nb_interactions>
+ <interaction_rate>100%</interaction_rate>
+ <contentTarget>http://piwik.org/</contentTarget>
+ <segment>contentPiece==Click+NOW</segment>
+ </row>
+ <row>
+ <label>Content Piece not defined</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_impressions>2</nb_impressions>
+ <nb_interactions>0</nb_interactions>
+ <interaction_rate>0%</interaction_rate>
+ <contentTarget />
+ </row>
+ <row>
+ <label>movie.mov</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_impressions>4</nb_impressions>
+ <nb_interactions>0</nb_interactions>
+ <interaction_rate>0%</interaction_rate>
+ <contentTarget />
+ <segment>contentPiece==movie.mov</segment>
+ </row>
+ <row>
+ <label>Unknown</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_impressions>2</nb_impressions>
+ <nb_interactions>0</nb_interactions>
+ <interaction_rate>0%</interaction_rate>
+ <contentTarget />
+ <segment>contentPiece==Unknown</segment>
+ </row>
</result> \ No newline at end of file
diff --git a/plugins/Contents/tests/System/expected/test_ContentscontentNameOrPieceMatch__Actions.getPageUrls_day.xml b/plugins/Contents/tests/System/expected/test_ContentscontentNameOrPieceMatch__Actions.getPageUrls_day.xml
index c234bed59e..97b0082789 100644..100755
--- a/plugins/Contents/tests/System/expected/test_ContentscontentNameOrPieceMatch__Actions.getPageUrls_day.xml
+++ b/plugins/Contents/tests/System/expected/test_ContentscontentNameOrPieceMatch__Actions.getPageUrls_day.xml
@@ -1,2 +1,31 @@
<?xml version="1.0" encoding="utf-8" ?>
-<result /> \ No newline at end of file
+<result>
+ <row>
+ <label>/page</label>
+ <nb_visits>2</nb_visits>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_hits>2</nb_hits>
+ <sum_time_spent>540</sum_time_spent>
+ <nb_hits_with_time_generation>2</nb_hits_with_time_generation>
+ <min_time_generation>0.333</min_time_generation>
+ <max_time_generation>0.333</max_time_generation>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <entry_nb_uniq_visitors>2</entry_nb_uniq_visitors>
+ <entry_nb_visits>2</entry_nb_visits>
+ <entry_nb_actions>2</entry_nb_actions>
+ <entry_sum_visit_length>542</entry_sum_visit_length>
+ <entry_bounce_count>2</entry_bounce_count>
+ <exit_nb_uniq_visitors>2</exit_nb_uniq_visitors>
+ <exit_nb_visits>2</exit_nb_visits>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>270</avg_time_on_page>
+ <bounce_rate>100%</bounce_rate>
+ <exit_rate>100%</exit_rate>
+ <avg_time_generation>0.333</avg_time_generation>
+ <url>http://www.example.org/page</url>
+ <segment>pageUrl==http%3A%2F%2Fwww.example.org%2Fpage</segment>
+ </row>
+</result> \ No newline at end of file
diff --git a/plugins/Contents/tests/System/expected/test_ContentscontentNameOrPieceMatch__Contents.getContentNames_day.xml b/plugins/Contents/tests/System/expected/test_ContentscontentNameOrPieceMatch__Contents.getContentNames_day.xml
index 1f75bfaa1b..aab05b8c9c 100644..100755
--- a/plugins/Contents/tests/System/expected/test_ContentscontentNameOrPieceMatch__Contents.getContentNames_day.xml
+++ b/plugins/Contents/tests/System/expected/test_ContentscontentNameOrPieceMatch__Contents.getContentNames_day.xml
@@ -12,12 +12,22 @@
</row>
<row>
<label>Text Ad</label>
- <nb_uniq_visitors>4</nb_uniq_visitors>
- <nb_visits>4</nb_visits>
- <nb_impressions>4</nb_impressions>
- <nb_interactions>2</nb_interactions>
- <interaction_rate>50%</interaction_rate>
- <contentTarget>http://piwik.org/download</contentTarget>
+ <nb_uniq_visitors>6</nb_uniq_visitors>
+ <nb_visits>6</nb_visits>
+ <nb_impressions>6</nb_impressions>
+ <nb_interactions>4</nb_interactions>
+ <interaction_rate>66.67%</interaction_rate>
+ <contentTarget>http://piwik.org/</contentTarget>
<segment>contentName==Text+Ad</segment>
</row>
+ <row>
+ <label>Video Ad</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_impressions>4</nb_impressions>
+ <nb_interactions>0</nb_interactions>
+ <interaction_rate>0%</interaction_rate>
+ <contentTarget />
+ <segment>contentName==Video+Ad</segment>
+ </row>
</result> \ No newline at end of file
diff --git a/plugins/Contents/tests/System/expected/test_ContentscontentNameOrPieceMatch__Contents.getContentPieces_day.xml b/plugins/Contents/tests/System/expected/test_ContentscontentNameOrPieceMatch__Contents.getContentPieces_day.xml
index 98fbf6ad4a..ccdd21b1d9 100644..100755
--- a/plugins/Contents/tests/System/expected/test_ContentscontentNameOrPieceMatch__Contents.getContentPieces_day.xml
+++ b/plugins/Contents/tests/System/expected/test_ContentscontentNameOrPieceMatch__Contents.getContentPieces_day.xml
@@ -31,6 +31,16 @@
<segment>contentPiece==%2Fpath%2Fad2.jpg</segment>
</row>
<row>
+ <label>Click NOW</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_impressions>2</nb_impressions>
+ <nb_interactions>2</nb_interactions>
+ <interaction_rate>100%</interaction_rate>
+ <contentTarget>http://piwik.org/</contentTarget>
+ <segment>contentPiece==Click+NOW</segment>
+ </row>
+ <row>
<label>Content Piece not defined</label>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_visits>2</nb_visits>
@@ -40,6 +50,16 @@
<contentTarget />
</row>
<row>
+ <label>movie.mov</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_impressions>4</nb_impressions>
+ <nb_interactions>0</nb_interactions>
+ <interaction_rate>0%</interaction_rate>
+ <contentTarget />
+ <segment>contentPiece==movie.mov</segment>
+ </row>
+ <row>
<label>Unknown</label>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_visits>2</nb_visits>
diff --git a/plugins/CoreHome/Tracker/LogTable/Conversion.php b/plugins/CoreHome/Tracker/LogTable/Conversion.php
index cdc3fa629d..39a46dfcca 100644
--- a/plugins/CoreHome/Tracker/LogTable/Conversion.php
+++ b/plugins/CoreHome/Tracker/LogTable/Conversion.php
@@ -27,6 +27,11 @@ class Conversion extends LogTable
return 'idvisit';
}
+ public function getDateTimeColumn()
+ {
+ return 'server_time';
+ }
+
public function getPrimaryKey()
{
return array('idvisit', 'idgoal', 'buster');
diff --git a/plugins/CoreHome/Tracker/LogTable/LinkVisitAction.php b/plugins/CoreHome/Tracker/LogTable/LinkVisitAction.php
index b09cd92c67..0b175f8995 100644
--- a/plugins/CoreHome/Tracker/LogTable/LinkVisitAction.php
+++ b/plugins/CoreHome/Tracker/LogTable/LinkVisitAction.php
@@ -32,6 +32,11 @@ class LinkVisitAction extends LogTable
return 'idvisit';
}
+ public function getDateTimeColumn()
+ {
+ return 'server_time';
+ }
+
public function getPrimaryKey()
{
return array('idlink_va');
diff --git a/plugins/CoreHome/Tracker/LogTable/Visit.php b/plugins/CoreHome/Tracker/LogTable/Visit.php
index 9b2bf91080..6c0726970f 100644
--- a/plugins/CoreHome/Tracker/LogTable/Visit.php
+++ b/plugins/CoreHome/Tracker/LogTable/Visit.php
@@ -26,6 +26,11 @@ class Visit extends LogTable
{
return 'idvisit';
}
+
+ public function getDateTimeColumn()
+ {
+ return 'visit_last_action_time';
+ }
public function shouldJoinWithSubSelect()
{
diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsCategory_day.xml b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsCategory_day.xml
index 9d4fb1b262..ceefbebe55 100644
--- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsCategory_day.xml
+++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsCategory_day.xml
@@ -2,74 +2,74 @@
<result>
<row>
<label>Electronics &amp; Cameras</label>
- <revenue>15000</revenue>
- <quantity>18</quantity>
+ <revenue>2500</revenue>
+ <quantity>3</quantity>
<orders>2</orders>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_visits>3</nb_visits>
<nb_actions>6</nb_actions>
- <avg_price>6000</avg_price>
- <avg_quantity>9</avg_quantity>
+ <avg_price>1000</avg_price>
+ <avg_quantity>1.5</avg_quantity>
<conversion_rate>66.67%</conversion_rate>
</row>
<row>
<label>Multiple Category 1</label>
- <revenue>6000</revenue>
- <quantity>12</quantity>
+ <revenue>1000</revenue>
+ <quantity>2</quantity>
<orders>1</orders>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>1</nb_visits>
<nb_actions>1</nb_actions>
- <avg_price>3000</avg_price>
- <avg_quantity>12</avg_quantity>
+ <avg_price>500</avg_price>
+ <avg_quantity>2</avg_quantity>
<conversion_rate>100%</conversion_rate>
</row>
<row>
<label>Multiple Category 2</label>
- <revenue>6000</revenue>
- <quantity>12</quantity>
+ <revenue>1000</revenue>
+ <quantity>2</quantity>
<orders>1</orders>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>1</nb_visits>
<nb_actions>1</nb_actions>
- <avg_price>3000</avg_price>
- <avg_quantity>12</avg_quantity>
+ <avg_price>500</avg_price>
+ <avg_quantity>2</avg_quantity>
<conversion_rate>100%</conversion_rate>
</row>
<row>
<label>Multiple Category 4</label>
- <revenue>6000</revenue>
- <quantity>12</quantity>
+ <revenue>1000</revenue>
+ <quantity>2</quantity>
<orders>1</orders>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>1</nb_visits>
<nb_actions>1</nb_actions>
- <avg_price>3000</avg_price>
- <avg_quantity>12</avg_quantity>
+ <avg_price>500</avg_price>
+ <avg_quantity>2</avg_quantity>
<conversion_rate>100%</conversion_rate>
</row>
<row>
<label>Multiple Category 5</label>
- <revenue>6000</revenue>
- <quantity>12</quantity>
+ <revenue>1000</revenue>
+ <quantity>2</quantity>
<orders>1</orders>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>1</nb_visits>
<nb_actions>1</nb_actions>
- <avg_price>3000</avg_price>
- <avg_quantity>12</avg_quantity>
+ <avg_price>500</avg_price>
+ <avg_quantity>2</avg_quantity>
<conversion_rate>100%</conversion_rate>
</row>
<row>
<label>Product Category not defined</label>
- <revenue>3667.32</revenue>
- <quantity>42</quantity>
+ <revenue>611.22</revenue>
+ <quantity>7</quantity>
<orders>2</orders>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>3</nb_visits>
<nb_actions>5</nb_actions>
- <avg_price>333.66</avg_price>
- <avg_quantity>21</avg_quantity>
+ <avg_price>55.61</avg_price>
+ <avg_quantity>3.5</avg_quantity>
<conversion_rate>66.67%</conversion_rate>
</row>
<row>
diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsCategory_week.xml b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsCategory_week.xml
index 982f9a7258..23c73914bf 100644
--- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsCategory_week.xml
+++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsCategory_week.xml
@@ -2,74 +2,74 @@
<result>
<row>
<label>Electronics &amp; Cameras</label>
- <revenue>15000</revenue>
- <quantity>18</quantity>
+ <revenue>2500</revenue>
+ <quantity>3</quantity>
<orders>2</orders>
<nb_visits>3</nb_visits>
<nb_actions>6</nb_actions>
<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
- <avg_price>6000</avg_price>
- <avg_quantity>9</avg_quantity>
+ <avg_price>1000</avg_price>
+ <avg_quantity>1.5</avg_quantity>
<conversion_rate>66.67%</conversion_rate>
</row>
<row>
<label>Multiple Category 1</label>
- <revenue>6000</revenue>
- <quantity>12</quantity>
+ <revenue>1000</revenue>
+ <quantity>2</quantity>
<orders>1</orders>
<nb_visits>1</nb_visits>
<nb_actions>1</nb_actions>
<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
- <avg_price>3000</avg_price>
- <avg_quantity>12</avg_quantity>
+ <avg_price>500</avg_price>
+ <avg_quantity>2</avg_quantity>
<conversion_rate>100%</conversion_rate>
</row>
<row>
<label>Multiple Category 2</label>
- <revenue>6000</revenue>
- <quantity>12</quantity>
+ <revenue>1000</revenue>
+ <quantity>2</quantity>
<orders>1</orders>
<nb_visits>1</nb_visits>
<nb_actions>1</nb_actions>
<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
- <avg_price>3000</avg_price>
- <avg_quantity>12</avg_quantity>
+ <avg_price>500</avg_price>
+ <avg_quantity>2</avg_quantity>
<conversion_rate>100%</conversion_rate>
</row>
<row>
<label>Multiple Category 4</label>
- <revenue>6000</revenue>
- <quantity>12</quantity>
+ <revenue>1000</revenue>
+ <quantity>2</quantity>
<orders>1</orders>
<nb_visits>1</nb_visits>
<nb_actions>1</nb_actions>
<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
- <avg_price>3000</avg_price>
- <avg_quantity>12</avg_quantity>
+ <avg_price>500</avg_price>
+ <avg_quantity>2</avg_quantity>
<conversion_rate>100%</conversion_rate>
</row>
<row>
<label>Multiple Category 5</label>
- <revenue>6000</revenue>
- <quantity>12</quantity>
+ <revenue>1000</revenue>
+ <quantity>2</quantity>
<orders>1</orders>
<nb_visits>1</nb_visits>
<nb_actions>1</nb_actions>
<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
- <avg_price>3000</avg_price>
- <avg_quantity>12</avg_quantity>
+ <avg_price>500</avg_price>
+ <avg_quantity>2</avg_quantity>
<conversion_rate>100%</conversion_rate>
</row>
<row>
<label>Product Category not defined</label>
- <revenue>3667.32</revenue>
- <quantity>42</quantity>
+ <revenue>611.22</revenue>
+ <quantity>7</quantity>
<orders>2</orders>
<nb_visits>4</nb_visits>
<nb_actions>7</nb_actions>
<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
- <avg_price>333.66</avg_price>
- <avg_quantity>21</avg_quantity>
+ <avg_price>55.61</avg_price>
+ <avg_quantity>3.5</avg_quantity>
<conversion_rate>50%</conversion_rate>
</row>
<row>
diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsName_day.xml b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsName_day.xml
index 4d8563a99e..8beefcdba1 100644
--- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsName_day.xml
+++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsName_day.xml
@@ -2,32 +2,32 @@
<result>
<row>
<label>Canon SLR</label>
- <revenue>9000</revenue>
- <quantity>6</quantity>
+ <revenue>1500</revenue>
+ <quantity>1</quantity>
<orders>1</orders>
- <avg_price>9000</avg_price>
- <avg_quantity>6</avg_quantity>
+ <avg_price>1500</avg_price>
+ <avg_quantity>1</avg_quantity>
<conversion_rate>0%</conversion_rate>
</row>
<row>
<label>PRODUCT name</label>
- <revenue>6067.32</revenue>
- <quantity>18</quantity>
+ <revenue>1011.22</revenue>
+ <quantity>3</quantity>
<orders>2</orders>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>2</nb_visits>
<nb_actions>5</nb_actions>
- <avg_price>1533.66</avg_price>
- <avg_quantity>9</avg_quantity>
+ <avg_price>255.61</avg_price>
+ <avg_quantity>1.5</avg_quantity>
<conversion_rate>100%</conversion_rate>
</row>
<row>
<label>PRODUCT name BIS</label>
- <revenue>3600</revenue>
- <quantity>36</quantity>
+ <revenue>600</revenue>
+ <quantity>6</quantity>
<orders>1</orders>
- <avg_price>600</avg_price>
- <avg_quantity>36</avg_quantity>
+ <avg_price>100</avg_price>
+ <avg_quantity>6</avg_quantity>
<conversion_rate>0%</conversion_rate>
</row>
<row>
diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsName_week.xml b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsName_week.xml
index b413464bdb..2a5b5affd5 100644
--- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsName_week.xml
+++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsName_week.xml
@@ -2,32 +2,32 @@
<result>
<row>
<label>Canon SLR</label>
- <revenue>9000</revenue>
- <quantity>6</quantity>
+ <revenue>1500</revenue>
+ <quantity>1</quantity>
<orders>1</orders>
- <avg_price>9000</avg_price>
- <avg_quantity>6</avg_quantity>
+ <avg_price>1500</avg_price>
+ <avg_quantity>1</avg_quantity>
<conversion_rate>0%</conversion_rate>
</row>
<row>
<label>PRODUCT name</label>
- <revenue>6067.32</revenue>
- <quantity>18</quantity>
+ <revenue>1011.22</revenue>
+ <quantity>3</quantity>
<orders>2</orders>
<nb_visits>2</nb_visits>
<nb_actions>5</nb_actions>
<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
- <avg_price>1533.66</avg_price>
- <avg_quantity>9</avg_quantity>
+ <avg_price>255.61</avg_price>
+ <avg_quantity>1.5</avg_quantity>
<conversion_rate>100%</conversion_rate>
</row>
<row>
<label>PRODUCT name BIS</label>
- <revenue>3600</revenue>
- <quantity>36</quantity>
+ <revenue>600</revenue>
+ <quantity>6</quantity>
<orders>1</orders>
- <avg_price>600</avg_price>
- <avg_quantity>36</avg_quantity>
+ <avg_price>100</avg_price>
+ <avg_quantity>6</avg_quantity>
<conversion_rate>0%</conversion_rate>
</row>
<row>
diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsSku_day.xml b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsSku_day.xml
index 02e9f0adf8..83b6b8ab73 100644
--- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsSku_day.xml
+++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsSku_day.xml
@@ -2,35 +2,35 @@
<result>
<row>
<label>SKU2</label>
- <revenue>9000</revenue>
- <quantity>6</quantity>
+ <revenue>1500</revenue>
+ <quantity>1</quantity>
<orders>1</orders>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>1</nb_visits>
<nb_actions>1</nb_actions>
- <avg_price>9000</avg_price>
- <avg_quantity>6</avg_quantity>
+ <avg_price>1500</avg_price>
+ <avg_quantity>1</avg_quantity>
<conversion_rate>100%</conversion_rate>
</row>
<row>
<label>SKU VERY nice indeed</label>
- <revenue>6067.32</revenue>
- <quantity>18</quantity>
+ <revenue>1011.22</revenue>
+ <quantity>3</quantity>
<orders>2</orders>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>3</nb_visits>
<nb_actions>8</nb_actions>
- <avg_price>1533.66</avg_price>
- <avg_quantity>9</avg_quantity>
+ <avg_price>255.61</avg_price>
+ <avg_quantity>1.5</avg_quantity>
<conversion_rate>66.67%</conversion_rate>
</row>
<row>
<label>ANOTHER SKU HERE</label>
- <revenue>3600</revenue>
- <quantity>36</quantity>
+ <revenue>600</revenue>
+ <quantity>6</quantity>
<orders>1</orders>
- <avg_price>600</avg_price>
- <avg_quantity>36</avg_quantity>
+ <avg_price>100</avg_price>
+ <avg_quantity>6</avg_quantity>
<conversion_rate>0%</conversion_rate>
</row>
<row>
diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsSku_week.xml b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsSku_week.xml
index 2ef4f0093f..c3fde5ca94 100644
--- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsSku_week.xml
+++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsSku_week.xml
@@ -2,35 +2,35 @@
<result>
<row>
<label>SKU2</label>
- <revenue>9000</revenue>
- <quantity>6</quantity>
+ <revenue>1500</revenue>
+ <quantity>1</quantity>
<orders>1</orders>
<nb_visits>1</nb_visits>
<nb_actions>1</nb_actions>
<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
- <avg_price>9000</avg_price>
- <avg_quantity>6</avg_quantity>
+ <avg_price>1500</avg_price>
+ <avg_quantity>1</avg_quantity>
<conversion_rate>100%</conversion_rate>
</row>
<row>
<label>SKU VERY nice indeed</label>
- <revenue>6067.32</revenue>
- <quantity>18</quantity>
+ <revenue>1011.22</revenue>
+ <quantity>3</quantity>
<orders>2</orders>
<nb_visits>4</nb_visits>
<nb_actions>10</nb_actions>
<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
- <avg_price>1533.66</avg_price>
- <avg_quantity>9</avg_quantity>
+ <avg_price>255.61</avg_price>
+ <avg_quantity>1.5</avg_quantity>
<conversion_rate>50%</conversion_rate>
</row>
<row>
<label>ANOTHER SKU HERE</label>
- <revenue>3600</revenue>
- <quantity>36</quantity>
+ <revenue>600</revenue>
+ <quantity>6</quantity>
<orders>1</orders>
- <avg_price>600</avg_price>
- <avg_quantity>36</avg_quantity>
+ <avg_price>100</avg_price>
+ <avg_quantity>6</avg_quantity>
<conversion_rate>0%</conversion_rate>
</row>
<row>
diff --git a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldAppear__Actions.getPageUrls_month.xml b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldAppear__Actions.getPageUrls_month.xml
index 9deb59ca38..fd969986cc 100644
--- a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldAppear__Actions.getPageUrls_month.xml
+++ b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldAppear__Actions.getPageUrls_month.xml
@@ -91,6 +91,76 @@
</row>
</subtable>
</row>
+ <row>
+ <label>/Contact</label>
+ <nb_visits>2</nb_visits>
+ <nb_hits>3</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>0%</exit_rate>
+ <url>http://example.org/Contact</url>
+ <segment>pageUrl==http%3A%2F%2Fexample.org%2FContact</segment>
+ </row>
+ <row>
+ <label>/Home</label>
+ <nb_visits>2</nb_visits>
+ <nb_hits>3</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>0%</exit_rate>
+ <url>http://example.org/Home</url>
+ <segment>pageUrl==http%3A%2F%2Fexample.org%2FHome</segment>
+ </row>
+ <row>
+ <label>Contact</label>
+ <nb_visits>2</nb_visits>
+ <nb_hits>3</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <exit_nb_visits>2</exit_nb_visits>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>100%</exit_rate>
+ <segment>pageUrl=^http%253A%252F%252Fpiwik.net%252FContact</segment>
+ <subtable>
+ <row>
+ <label>/ThankYou</label>
+ <nb_visits>2</nb_visits>
+ <nb_hits>3</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <exit_nb_visits>2</exit_nb_visits>
+ <sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
+ <sum_daily_exit_nb_uniq_visitors>2</sum_daily_exit_nb_uniq_visitors>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>100%</exit_rate>
+ <url>http://example.org/Contact/ThankYou</url>
+ <segment>pageUrl==http%3A%2F%2Fexample.org%2FContact%2FThankYou</segment>
+ </row>
+ </subtable>
+ </row>
</result>
<result date="2010-02" />
<result date="2010-03" />
diff --git a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear_BecauseDayWasNotInvalidated__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear_BecauseDayWasNotInvalidated__Actions.getPageUrls_day.xml
index f60c9944d9..f657c6635d 100644
--- a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear_BecauseDayWasNotInvalidated__Actions.getPageUrls_day.xml
+++ b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear_BecauseDayWasNotInvalidated__Actions.getPageUrls_day.xml
@@ -75,6 +75,76 @@
</row>
</subtable>
</row>
+ <row>
+ <label>/Contact</label>
+ <nb_visits>1</nb_visits>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_hits>1</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>0%</exit_rate>
+ <url>http://example.org/Contact</url>
+ <segment>pageUrl==http%3A%2F%2Fexample.org%2FContact</segment>
+ </row>
+ <row>
+ <label>/Home</label>
+ <nb_visits>1</nb_visits>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_hits>1</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>0%</exit_rate>
+ <url>http://example.org/Home</url>
+ <segment>pageUrl==http%3A%2F%2Fexample.org%2FHome</segment>
+ </row>
+ <row>
+ <label>Contact</label>
+ <nb_visits>1</nb_visits>
+ <nb_hits>1</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <exit_nb_visits>1</exit_nb_visits>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>100%</exit_rate>
+ <segment>pageUrl=^http%253A%252F%252Fpiwik.net%252FContact</segment>
+ <subtable>
+ <row>
+ <label>/ThankYou</label>
+ <nb_visits>1</nb_visits>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_hits>1</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <exit_nb_uniq_visitors>1</exit_nb_uniq_visitors>
+ <exit_nb_visits>1</exit_nb_visits>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>100%</exit_rate>
+ <url>http://example.org/Contact/ThankYou</url>
+ <segment>pageUrl==http%3A%2F%2Fexample.org%2FContact%2FThankYou</segment>
+ </row>
+ </subtable>
+ </row>
</result>
<result date="2010-01-07" />
<result date="2010-01-08" />
diff --git a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear__Actions.getPageUrls_month.xml b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear__Actions.getPageUrls_month.xml
index dfbd168cd0..9745b71713 100644
--- a/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear__Actions.getPageUrls_month.xml
+++ b/tests/PHPUnit/System/expected/test_Archive_InvalidationWebsite2_NewDataShouldNotAppear__Actions.getPageUrls_month.xml
@@ -75,6 +75,76 @@
</row>
</subtable>
</row>
+ <row>
+ <label>/Contact</label>
+ <nb_visits>1</nb_visits>
+ <nb_hits>1</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>0%</exit_rate>
+ <url>http://example.org/Contact</url>
+ <segment>pageUrl==http%3A%2F%2Fexample.org%2FContact</segment>
+ </row>
+ <row>
+ <label>/Home</label>
+ <nb_visits>1</nb_visits>
+ <nb_hits>1</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>0%</exit_rate>
+ <url>http://example.org/Home</url>
+ <segment>pageUrl==http%3A%2F%2Fexample.org%2FHome</segment>
+ </row>
+ <row>
+ <label>Contact</label>
+ <nb_visits>1</nb_visits>
+ <nb_hits>1</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <exit_nb_visits>1</exit_nb_visits>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>100%</exit_rate>
+ <segment>pageUrl=^http%253A%252F%252Fpiwik.net%252FContact</segment>
+ <subtable>
+ <row>
+ <label>/ThankYou</label>
+ <nb_visits>1</nb_visits>
+ <nb_hits>1</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <exit_nb_visits>1</exit_nb_visits>
+ <sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
+ <sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>100%</exit_rate>
+ <url>http://example.org/Contact/ThankYou</url>
+ <segment>pageUrl==http%3A%2F%2Fexample.org%2FContact%2FThankYou</segment>
+ </row>
+ </subtable>
+ </row>
</result>
<result date="2010-02" />
<result date="2010-03" />
diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Actions.getPageUrls_day.xml
index c234bed59e..0ea39fc982 100644
--- a/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Actions.getPageUrls_day.xml
+++ b/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Actions.getPageUrls_day.xml
@@ -1,2 +1,57 @@
<?xml version="1.0" encoding="utf-8" ?>
-<result /> \ No newline at end of file
+<result>
+ <row>
+ <label>/movies</label>
+ <nb_visits>2</nb_visits>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_hits>2</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <nb_hits_with_time_generation>2</nb_hits_with_time_generation>
+ <min_time_generation>0.666</min_time_generation>
+ <max_time_generation>0.666</max_time_generation>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
+ <entry_nb_visits>1</entry_nb_visits>
+ <entry_nb_actions>14</entry_nb_actions>
+ <entry_sum_visit_length>3541</entry_sum_visit_length>
+ <entry_bounce_count>0</entry_bounce_count>
+ <exit_nb_uniq_visitors>2</exit_nb_uniq_visitors>
+ <exit_nb_visits>2</exit_nb_visits>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>100%</exit_rate>
+ <avg_time_generation>0.666</avg_time_generation>
+ <url>http://example.org/movies</url>
+ <segment>pageUrl==http%3A%2F%2Fexample.org%2Fmovies</segment>
+ </row>
+ <row>
+ <label>/webradio</label>
+ <nb_visits>1</nb_visits>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_hits>1</nb_hits>
+ <sum_time_spent>1620</sum_time_spent>
+ <nb_hits_with_time_generation>1</nb_hits_with_time_generation>
+ <min_time_generation>0.333</min_time_generation>
+ <max_time_generation>0.333</max_time_generation>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
+ <entry_nb_visits>1</entry_nb_visits>
+ <entry_nb_actions>18</entry_nb_actions>
+ <entry_sum_visit_length>3601</entry_sum_visit_length>
+ <entry_bounce_count>0</entry_bounce_count>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>1620</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>0%</exit_rate>
+ <avg_time_generation>0.333</avg_time_generation>
+ <url>http://example.org/webradio</url>
+ <segment>pageUrl==http%3A%2F%2Fexample.org%2Fwebradio</segment>
+ </row>
+</result> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getAction_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getAction_day.xml
index 1ae34d2b69..e6a4ea541e 100644
--- a/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getAction_day.xml
+++ b/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getAction_day.xml
@@ -278,6 +278,31 @@
</subtable>
</row>
<row>
+ <label>event action Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long ---&gt; SHOULD APPEAR IN TEST OUTPUT NOT TRUNCATED &lt;---</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>19.32</sum_event_value>
+ <min_event_value>9.66</min_event_value>
+ <max_event_value>9.66</max_event_value>
+ <avg_event_value>9.66</avg_event_value>
+ <segment>eventAction==event+action+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+---%26gt%3B+SHOULD+APPEAR+IN+TEST+OUTPUT+NOT+TRUNCATED+%26lt%3B---</segment>
+ <subtable>
+ <row>
+ <label>event name Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long ---&gt; SHOULD APPEAR IN TEST OUTPUT NOT TRUNCATED &lt;---</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>19.32</sum_event_value>
+ <min_event_value>9.66</min_event_value>
+ <max_event_value>9.66</max_event_value>
+ <avg_event_value>9.66</avg_event_value>
+ </row>
+ </subtable>
+ </row>
+ <row>
<label>play</label>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_visits>2</nb_visits>
@@ -339,4 +364,16 @@
<avg_event_value>0</avg_event_value>
<segment>eventAction==Purchase</segment>
</row>
+ <row>
+ <label>This is an event without a URL</label>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_visits>1</nb_visits>
+ <nb_events>3</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>23</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>23</max_event_value>
+ <avg_event_value>11.5</avg_event_value>
+ <segment>eventAction==This+is+an+event+without+a+URL</segment>
+ </row>
</result> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getCategory_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getCategory_day.xml
index c6a456e3b8..d041b8b8f8 100644
--- a/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getCategory_day.xml
+++ b/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getCategory_day.xml
@@ -204,4 +204,54 @@
</row>
</subtable>
</row>
+ <row>
+ <label>event category Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long ---&gt; SHOULD APPEAR IN TEST OUTPUT NOT TRUNCATED &lt;---</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>19.32</sum_event_value>
+ <min_event_value>9.66</min_event_value>
+ <max_event_value>9.66</max_event_value>
+ <avg_event_value>9.66</avg_event_value>
+ <segment>eventCategory==event+category+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+---%26gt%3B+SHOULD+APPEAR+IN+TEST+OUTPUT+NOT+TRUNCATED+%26lt%3B---</segment>
+ <subtable>
+ <row>
+ <label>event action Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long ---&gt; SHOULD APPEAR IN TEST OUTPUT NOT TRUNCATED &lt;---</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>19.32</sum_event_value>
+ <min_event_value>9.66</min_event_value>
+ <max_event_value>9.66</max_event_value>
+ <avg_event_value>9.66</avg_event_value>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>CategoryTriggersGoal here</label>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_visits>1</nb_visits>
+ <nb_events>3</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>23</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>23</max_event_value>
+ <avg_event_value>11.5</avg_event_value>
+ <segment>eventCategory==CategoryTriggersGoal+here</segment>
+ <subtable>
+ <row>
+ <label>This is an event without a URL</label>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_visits>1</nb_visits>
+ <nb_events>3</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>23</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>23</max_event_value>
+ <avg_event_value>11.5</avg_event_value>
+ </row>
+ </subtable>
+ </row>
</result> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getName_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getName_day.xml
index 5b4b604c43..4771d85dfe 100644
--- a/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getName_day.xml
+++ b/tests/PHPUnit/System/expected/test_CustomEvents_eventCategoryOrNameMatch__Events.getName_day.xml
@@ -184,14 +184,14 @@
</row>
<row>
<label>Event Name not defined</label>
- <nb_uniq_visitors>4</nb_uniq_visitors>
- <nb_visits>6</nb_visits>
- <nb_events>6</nb_events>
- <nb_events_with_value>0</nb_events_with_value>
- <sum_event_value>0</sum_event_value>
+ <nb_uniq_visitors>5</nb_uniq_visitors>
+ <nb_visits>7</nb_visits>
+ <nb_events>9</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>23</sum_event_value>
<min_event_value>0</min_event_value>
- <max_event_value>0</max_event_value>
- <avg_event_value>0</avg_event_value>
+ <max_event_value>23</max_event_value>
+ <avg_event_value>11.5</avg_event_value>
<subtable>
<row>
<label>Search</label>
@@ -215,6 +215,42 @@
<max_event_value>0</max_event_value>
<avg_event_value>0</avg_event_value>
</row>
+ <row>
+ <label>This is an event without a URL</label>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_visits>1</nb_visits>
+ <nb_events>3</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>23</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>23</max_event_value>
+ <avg_event_value>11.5</avg_event_value>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>event name Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long ---&gt; SHOULD APPEAR IN TEST OUTPUT NOT TRUNCATED &lt;---</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>19.32</sum_event_value>
+ <min_event_value>9.66</min_event_value>
+ <max_event_value>9.66</max_event_value>
+ <avg_event_value>9.66</avg_event_value>
+ <segment>eventName==event+name+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+---%26gt%3B+SHOULD+APPEAR+IN+TEST+OUTPUT+NOT+TRUNCATED+%26lt%3B---</segment>
+ <subtable>
+ <row>
+ <label>event action Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long ---&gt; SHOULD APPEAR IN TEST OUTPUT NOT TRUNCATED &lt;---</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>19.32</sum_event_value>
+ <min_event_value>9.66</min_event_value>
+ <max_event_value>9.66</max_event_value>
+ <avg_event_value>9.66</avg_event_value>
+ </row>
</subtable>
</row>
<row>
diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_eventValueMatch__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_eventValueMatch__Actions.getPageUrls_day.xml
index c234bed59e..0ea39fc982 100644
--- a/tests/PHPUnit/System/expected/test_CustomEvents_eventValueMatch__Actions.getPageUrls_day.xml
+++ b/tests/PHPUnit/System/expected/test_CustomEvents_eventValueMatch__Actions.getPageUrls_day.xml
@@ -1,2 +1,57 @@
<?xml version="1.0" encoding="utf-8" ?>
-<result /> \ No newline at end of file
+<result>
+ <row>
+ <label>/movies</label>
+ <nb_visits>2</nb_visits>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_hits>2</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <nb_hits_with_time_generation>2</nb_hits_with_time_generation>
+ <min_time_generation>0.666</min_time_generation>
+ <max_time_generation>0.666</max_time_generation>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
+ <entry_nb_visits>1</entry_nb_visits>
+ <entry_nb_actions>14</entry_nb_actions>
+ <entry_sum_visit_length>3541</entry_sum_visit_length>
+ <entry_bounce_count>0</entry_bounce_count>
+ <exit_nb_uniq_visitors>2</exit_nb_uniq_visitors>
+ <exit_nb_visits>2</exit_nb_visits>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>100%</exit_rate>
+ <avg_time_generation>0.666</avg_time_generation>
+ <url>http://example.org/movies</url>
+ <segment>pageUrl==http%3A%2F%2Fexample.org%2Fmovies</segment>
+ </row>
+ <row>
+ <label>/webradio</label>
+ <nb_visits>1</nb_visits>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_hits>1</nb_hits>
+ <sum_time_spent>1620</sum_time_spent>
+ <nb_hits_with_time_generation>1</nb_hits_with_time_generation>
+ <min_time_generation>0.333</min_time_generation>
+ <max_time_generation>0.333</max_time_generation>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
+ <entry_nb_visits>1</entry_nb_visits>
+ <entry_nb_actions>18</entry_nb_actions>
+ <entry_sum_visit_length>3601</entry_sum_visit_length>
+ <entry_bounce_count>0</entry_bounce_count>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>1620</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>0%</exit_rate>
+ <avg_time_generation>0.333</avg_time_generation>
+ <url>http://example.org/webradio</url>
+ <segment>pageUrl==http%3A%2F%2Fexample.org%2Fwebradio</segment>
+ </row>
+</result> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_eventValueMatch__Events.getAction_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_eventValueMatch__Events.getAction_day.xml
index 6f28bd784c..f30d022199 100644
--- a/tests/PHPUnit/System/expected/test_CustomEvents_eventValueMatch__Events.getAction_day.xml
+++ b/tests/PHPUnit/System/expected/test_CustomEvents_eventValueMatch__Events.getAction_day.xml
@@ -1,33 +1,274 @@
<?xml version="1.0" encoding="utf-8" ?>
<result>
<row>
- <label>rating</label>
+ <label>playTrailer</label>
+ <nb_uniq_visitors>6</nb_uniq_visitors>
+ <nb_visits>6</nb_visits>
+ <nb_events>6</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ <segment>eventAction==playTrailer</segment>
+ <subtable>
+ <row>
+ <label>Ponyo (崖の上のポニョ)</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
+ <label>Princess Mononoke (もののけ姫)</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
+ <label>Spirited Away (千と千尋の神隠し)</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>play25%</label>
<nb_uniq_visitors>4</nb_uniq_visitors>
<nb_visits>4</nb_visits>
<nb_events>4</nb_events>
- <nb_events_with_value>4</nb_events_with_value>
- <sum_event_value>39.32</sum_event_value>
- <min_event_value>9.66</min_event_value>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ <segment>eventAction==play25%25</segment>
+ <subtable>
+ <row>
+ <label>La fiancée de l'eau</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
+ <label>Spirited Away (千と千尋の神隠し)</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>play50%</label>
+ <nb_uniq_visitors>4</nb_uniq_visitors>
+ <nb_visits>4</nb_visits>
+ <nb_events>4</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ <segment>eventAction==play50%25</segment>
+ <subtable>
+ <row>
+ <label>La fiancée de l'eau</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
+ <label>Spirited Away (千と千尋の神隠し)</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>play75%</label>
+ <nb_uniq_visitors>4</nb_uniq_visitors>
+ <nb_visits>4</nb_visits>
+ <nb_events>4</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ <segment>eventAction==play75%25</segment>
+ <subtable>
+ <row>
+ <label>La fiancée de l'eau</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
+ <label>Spirited Away (千と千尋の神隠し)</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>playEnd</label>
+ <nb_uniq_visitors>4</nb_uniq_visitors>
+ <nb_visits>4</nb_visits>
+ <nb_events>4</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ <segment>eventAction==playEnd</segment>
+ <subtable>
+ <row>
+ <label>La fiancée de l'eau</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
+ <label>Spirited Away (千と千尋の神隠し)</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>rating</label>
+ <nb_uniq_visitors>4</nb_uniq_visitors>
+ <nb_visits>4</nb_visits>
+ <nb_events>6</nb_events>
+ <nb_events_with_value>6</nb_events_with_value>
+ <sum_event_value>57.32</sum_event_value>
+ <min_event_value>9</min_event_value>
<max_event_value>10</max_event_value>
- <avg_event_value>9.83</avg_event_value>
+ <avg_event_value>9.55</avg_event_value>
<segment>eventAction==rating</segment>
<subtable>
<row>
<label>La fiancée de l'eau</label>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_visits>2</nb_visits>
+ <nb_events>4</nb_events>
+ <nb_events_with_value>4</nb_events_with_value>
+ <sum_event_value>38</sum_event_value>
+ <min_event_value>9</min_event_value>
+ <max_event_value>10</max_event_value>
+ <avg_event_value>9.5</avg_event_value>
+ </row>
+ <row>
+ <label>Spirited Away (千と千尋の神隠し)</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
<nb_events>2</nb_events>
<nb_events_with_value>2</nb_events_with_value>
- <sum_event_value>20</sum_event_value>
- <min_event_value>10</min_event_value>
- <max_event_value>10</max_event_value>
- <avg_event_value>10</avg_event_value>
+ <sum_event_value>19.32</sum_event_value>
+ <min_event_value>9.66</min_event_value>
+ <max_event_value>9.66</max_event_value>
+ <avg_event_value>9.66</avg_event_value>
</row>
+ </subtable>
+ </row>
+ <row>
+ <label>clickBuyNow</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ <segment>eventAction==clickBuyNow</segment>
+ <subtable>
<row>
<label>Spirited Away (千と千尋の神隠し)</label>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_visits>2</nb_visits>
<nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>event action Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long ---&gt; SHOULD APPEAR IN TEST OUTPUT NOT TRUNCATED &lt;---</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>19.32</sum_event_value>
+ <min_event_value>9.66</min_event_value>
+ <max_event_value>9.66</max_event_value>
+ <avg_event_value>9.66</avg_event_value>
+ <segment>eventAction==event+action+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+---%26gt%3B+SHOULD+APPEAR+IN+TEST+OUTPUT+NOT+TRUNCATED+%26lt%3B---</segment>
+ <subtable>
+ <row>
+ <label>event name Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long ---&gt; SHOULD APPEAR IN TEST OUTPUT NOT TRUNCATED &lt;---</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
<nb_events_with_value>2</nb_events_with_value>
<sum_event_value>19.32</sum_event_value>
<min_event_value>9.66</min_event_value>
@@ -36,4 +277,91 @@
</row>
</subtable>
</row>
+ <row>
+ <label>play</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ <segment>eventAction==play</segment>
+ <subtable>
+ <row>
+ <label>La fiancée de l'eau</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>playStart</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ <segment>eventAction==playStart</segment>
+ <subtable>
+ <row>
+ <label>Spirited Away (千と千尋の神隠し)</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Search</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ <segment>eventAction==Search</segment>
+ <subtable>
+ <row>
+ <label>Search query here</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>This is an event without a URL</label>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_visits>1</nb_visits>
+ <nb_events>3</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>23</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>23</max_event_value>
+ <avg_event_value>11.5</avg_event_value>
+ <segment>eventAction==This+is+an+event+without+a+URL</segment>
+ </row>
</result> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_eventValueMatch__Events.getCategory_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_eventValueMatch__Events.getCategory_day.xml
index d0352a32bc..ed183f1c09 100644
--- a/tests/PHPUnit/System/expected/test_CustomEvents_eventValueMatch__Events.getCategory_day.xml
+++ b/tests/PHPUnit/System/expected/test_CustomEvents_eventValueMatch__Events.getCategory_day.xml
@@ -2,17 +2,94 @@
<result>
<row>
<label>Movie</label>
- <nb_uniq_visitors>2</nb_uniq_visitors>
- <nb_visits>2</nb_visits>
- <nb_events>2</nb_events>
+ <nb_uniq_visitors>22</nb_uniq_visitors>
+ <nb_visits>22</nb_visits>
+ <nb_events>22</nb_events>
<nb_events_with_value>2</nb_events_with_value>
<sum_event_value>19.32</sum_event_value>
- <min_event_value>9.66</min_event_value>
+ <min_event_value>0</min_event_value>
<max_event_value>9.66</max_event_value>
<avg_event_value>9.66</avg_event_value>
<segment>eventCategory==Movie</segment>
<subtable>
<row>
+ <label>playTrailer</label>
+ <nb_uniq_visitors>6</nb_uniq_visitors>
+ <nb_visits>6</nb_visits>
+ <nb_events>6</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
+ <label>clickBuyNow</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
+ <label>play25%</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
+ <label>play50%</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
+ <label>play75%</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
+ <label>playEnd</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
+ <label>playStart</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
<label>rating</label>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_visits>2</nb_visits>
@@ -23,30 +100,146 @@
<max_event_value>9.66</max_event_value>
<avg_event_value>9.66</avg_event_value>
</row>
+ <row>
+ <label>Search</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
</subtable>
</row>
<row>
<label>Music</label>
+ <nb_uniq_visitors>12</nb_uniq_visitors>
+ <nb_visits>12</nb_visits>
+ <nb_events>14</nb_events>
+ <nb_events_with_value>4</nb_events_with_value>
+ <sum_event_value>38</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>10</max_event_value>
+ <avg_event_value>9.5</avg_event_value>
+ <segment>eventCategory==Music</segment>
+ <subtable>
+ <row>
+ <label>play</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
+ <label>play25%</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
+ <label>play50%</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
+ <label>play75%</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
+ <label>playEnd</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
+ <label>rating</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>4</nb_events>
+ <nb_events_with_value>4</nb_events_with_value>
+ <sum_event_value>38</sum_event_value>
+ <min_event_value>9</min_event_value>
+ <max_event_value>10</max_event_value>
+ <avg_event_value>9.5</avg_event_value>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>event category Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long ---&gt; SHOULD APPEAR IN TEST OUTPUT NOT TRUNCATED &lt;---</label>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_visits>2</nb_visits>
<nb_events>2</nb_events>
<nb_events_with_value>2</nb_events_with_value>
- <sum_event_value>20</sum_event_value>
- <min_event_value>10</min_event_value>
- <max_event_value>10</max_event_value>
- <avg_event_value>10</avg_event_value>
- <segment>eventCategory==Music</segment>
+ <sum_event_value>19.32</sum_event_value>
+ <min_event_value>9.66</min_event_value>
+ <max_event_value>9.66</max_event_value>
+ <avg_event_value>9.66</avg_event_value>
+ <segment>eventCategory==event+category+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+---%26gt%3B+SHOULD+APPEAR+IN+TEST+OUTPUT+NOT+TRUNCATED+%26lt%3B---</segment>
<subtable>
<row>
- <label>rating</label>
+ <label>event action Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long ---&gt; SHOULD APPEAR IN TEST OUTPUT NOT TRUNCATED &lt;---</label>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_visits>2</nb_visits>
<nb_events>2</nb_events>
<nb_events_with_value>2</nb_events_with_value>
- <sum_event_value>20</sum_event_value>
- <min_event_value>10</min_event_value>
- <max_event_value>10</max_event_value>
- <avg_event_value>10</avg_event_value>
+ <sum_event_value>19.32</sum_event_value>
+ <min_event_value>9.66</min_event_value>
+ <max_event_value>9.66</max_event_value>
+ <avg_event_value>9.66</avg_event_value>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>CategoryTriggersGoal here</label>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_visits>1</nb_visits>
+ <nb_events>3</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>23</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>23</max_event_value>
+ <avg_event_value>11.5</avg_event_value>
+ <segment>eventCategory==CategoryTriggersGoal+here</segment>
+ <subtable>
+ <row>
+ <label>This is an event without a URL</label>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_visits>1</nb_visits>
+ <nb_events>3</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>23</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>23</max_event_value>
+ <avg_event_value>11.5</avg_event_value>
</row>
</subtable>
</row>
diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_eventValueMatch__Events.getName_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_eventValueMatch__Events.getName_day.xml
index f492dd062c..d2b7fbedf8 100644
--- a/tests/PHPUnit/System/expected/test_CustomEvents_eventValueMatch__Events.getName_day.xml
+++ b/tests/PHPUnit/System/expected/test_CustomEvents_eventValueMatch__Events.getName_day.xml
@@ -1,32 +1,189 @@
<?xml version="1.0" encoding="utf-8" ?>
<result>
<row>
- <label>La fiancée de l'eau</label>
- <nb_uniq_visitors>2</nb_uniq_visitors>
- <nb_visits>2</nb_visits>
- <nb_events>2</nb_events>
+ <label>Spirited Away (千と千尋の神隠し)</label>
+ <nb_uniq_visitors>16</nb_uniq_visitors>
+ <nb_visits>16</nb_visits>
+ <nb_events>16</nb_events>
<nb_events_with_value>2</nb_events_with_value>
- <sum_event_value>20</sum_event_value>
- <min_event_value>10</min_event_value>
- <max_event_value>10</max_event_value>
- <avg_event_value>10</avg_event_value>
- <segment>eventName==La+fianc%C3%A9e+de+l%26%23039%3Beau</segment>
+ <sum_event_value>19.32</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>9.66</max_event_value>
+ <avg_event_value>9.66</avg_event_value>
+ <segment>eventName==Spirited+Away+%28%E5%8D%83%E3%81%A8%E5%8D%83%E5%B0%8B%E3%81%AE%E7%A5%9E%E9%9A%A0%E3%81%97%29</segment>
<subtable>
<row>
+ <label>clickBuyNow</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
+ <label>play25%</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
+ <label>play50%</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
+ <label>play75%</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
+ <label>playEnd</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
+ <label>playStart</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
+ <label>playTrailer</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
<label>rating</label>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_visits>2</nb_visits>
<nb_events>2</nb_events>
<nb_events_with_value>2</nb_events_with_value>
- <sum_event_value>20</sum_event_value>
- <min_event_value>10</min_event_value>
+ <sum_event_value>19.32</sum_event_value>
+ <min_event_value>9.66</min_event_value>
+ <max_event_value>9.66</max_event_value>
+ <avg_event_value>9.66</avg_event_value>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>La fiancée de l'eau</label>
+ <nb_uniq_visitors>12</nb_uniq_visitors>
+ <nb_visits>12</nb_visits>
+ <nb_events>14</nb_events>
+ <nb_events_with_value>4</nb_events_with_value>
+ <sum_event_value>38</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>10</max_event_value>
+ <avg_event_value>9.5</avg_event_value>
+ <segment>eventName==La+fianc%C3%A9e+de+l%26%23039%3Beau</segment>
+ <subtable>
+ <row>
+ <label>play</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
+ <label>play25%</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
+ <label>play50%</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
+ <label>play75%</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
+ <label>playEnd</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
+ <label>rating</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>4</nb_events>
+ <nb_events_with_value>4</nb_events_with_value>
+ <sum_event_value>38</sum_event_value>
+ <min_event_value>9</min_event_value>
<max_event_value>10</max_event_value>
- <avg_event_value>10</avg_event_value>
+ <avg_event_value>9.5</avg_event_value>
</row>
</subtable>
</row>
<row>
- <label>Spirited Away (千と千尋の神隠し)</label>
+ <label>event name Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long ---&gt; SHOULD APPEAR IN TEST OUTPUT NOT TRUNCATED &lt;---</label>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_visits>2</nb_visits>
<nb_events>2</nb_events>
@@ -35,10 +192,10 @@
<min_event_value>9.66</min_event_value>
<max_event_value>9.66</max_event_value>
<avg_event_value>9.66</avg_event_value>
- <segment>eventName==Spirited+Away+%28%E5%8D%83%E3%81%A8%E5%8D%83%E5%B0%8B%E3%81%AE%E7%A5%9E%E9%9A%A0%E3%81%97%29</segment>
+ <segment>eventName==event+name+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+---%26gt%3B+SHOULD+APPEAR+IN+TEST+OUTPUT+NOT+TRUNCATED+%26lt%3B---</segment>
<subtable>
<row>
- <label>rating</label>
+ <label>event action Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long ---&gt; SHOULD APPEAR IN TEST OUTPUT NOT TRUNCATED &lt;---</label>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_visits>2</nb_visits>
<nb_events>2</nb_events>
@@ -50,4 +207,103 @@
</row>
</subtable>
</row>
+ <row>
+ <label>Ponyo (崖の上のポニョ)</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ <segment>eventName==Ponyo+%28%E5%B4%96%E3%81%AE%E4%B8%8A%E3%81%AE%E3%83%9D%E3%83%8B%E3%83%A7%29</segment>
+ <subtable>
+ <row>
+ <label>playTrailer</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Princess Mononoke (もののけ姫)</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ <segment>eventName==Princess+Mononoke+%28%E3%82%82%E3%81%AE%E3%81%AE%E3%81%91%E5%A7%AB%29</segment>
+ <subtable>
+ <row>
+ <label>playTrailer</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Search query here</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ <segment>eventName==Search+query+here</segment>
+ <subtable>
+ <row>
+ <label>Search</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Event Name not defined</label>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_visits>1</nb_visits>
+ <nb_events>3</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>23</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>23</max_event_value>
+ <avg_event_value>11.5</avg_event_value>
+ <subtable>
+ <row>
+ <label>This is an event without a URL</label>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_visits>1</nb_visits>
+ <nb_events>3</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>23</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>23</max_event_value>
+ <avg_event_value>11.5</avg_event_value>
+ </row>
+ </subtable>
+ </row>
</result> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Actions.getPageUrls_day.xml
index c234bed59e..0ea39fc982 100644
--- a/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Actions.getPageUrls_day.xml
+++ b/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Actions.getPageUrls_day.xml
@@ -1,2 +1,57 @@
<?xml version="1.0" encoding="utf-8" ?>
-<result /> \ No newline at end of file
+<result>
+ <row>
+ <label>/movies</label>
+ <nb_visits>2</nb_visits>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_hits>2</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <nb_hits_with_time_generation>2</nb_hits_with_time_generation>
+ <min_time_generation>0.666</min_time_generation>
+ <max_time_generation>0.666</max_time_generation>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
+ <entry_nb_visits>1</entry_nb_visits>
+ <entry_nb_actions>14</entry_nb_actions>
+ <entry_sum_visit_length>3541</entry_sum_visit_length>
+ <entry_bounce_count>0</entry_bounce_count>
+ <exit_nb_uniq_visitors>2</exit_nb_uniq_visitors>
+ <exit_nb_visits>2</exit_nb_visits>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>100%</exit_rate>
+ <avg_time_generation>0.666</avg_time_generation>
+ <url>http://example.org/movies</url>
+ <segment>pageUrl==http%3A%2F%2Fexample.org%2Fmovies</segment>
+ </row>
+ <row>
+ <label>/webradio</label>
+ <nb_visits>1</nb_visits>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_hits>1</nb_hits>
+ <sum_time_spent>1620</sum_time_spent>
+ <nb_hits_with_time_generation>1</nb_hits_with_time_generation>
+ <min_time_generation>0.333</min_time_generation>
+ <max_time_generation>0.333</max_time_generation>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
+ <entry_nb_visits>1</entry_nb_visits>
+ <entry_nb_actions>18</entry_nb_actions>
+ <entry_sum_visit_length>3601</entry_sum_visit_length>
+ <entry_bounce_count>0</entry_bounce_count>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>1620</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>0%</exit_rate>
+ <avg_time_generation>0.333</avg_time_generation>
+ <url>http://example.org/webradio</url>
+ <segment>pageUrl==http%3A%2F%2Fexample.org%2Fwebradio</segment>
+ </row>
+</result> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getAction_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getAction_day.xml
index 390de64329..f30d022199 100644
--- a/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getAction_day.xml
+++ b/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getAction_day.xml
@@ -192,6 +192,92 @@
</subtable>
</row>
<row>
+ <label>rating</label>
+ <nb_uniq_visitors>4</nb_uniq_visitors>
+ <nb_visits>4</nb_visits>
+ <nb_events>6</nb_events>
+ <nb_events_with_value>6</nb_events_with_value>
+ <sum_event_value>57.32</sum_event_value>
+ <min_event_value>9</min_event_value>
+ <max_event_value>10</max_event_value>
+ <avg_event_value>9.55</avg_event_value>
+ <segment>eventAction==rating</segment>
+ <subtable>
+ <row>
+ <label>La fiancée de l'eau</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>4</nb_events>
+ <nb_events_with_value>4</nb_events_with_value>
+ <sum_event_value>38</sum_event_value>
+ <min_event_value>9</min_event_value>
+ <max_event_value>10</max_event_value>
+ <avg_event_value>9.5</avg_event_value>
+ </row>
+ <row>
+ <label>Spirited Away (千と千尋の神隠し)</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>19.32</sum_event_value>
+ <min_event_value>9.66</min_event_value>
+ <max_event_value>9.66</max_event_value>
+ <avg_event_value>9.66</avg_event_value>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>clickBuyNow</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ <segment>eventAction==clickBuyNow</segment>
+ <subtable>
+ <row>
+ <label>Spirited Away (千と千尋の神隠し)</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>event action Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long ---&gt; SHOULD APPEAR IN TEST OUTPUT NOT TRUNCATED &lt;---</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>19.32</sum_event_value>
+ <min_event_value>9.66</min_event_value>
+ <max_event_value>9.66</max_event_value>
+ <avg_event_value>9.66</avg_event_value>
+ <segment>eventAction==event+action+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+---%26gt%3B+SHOULD+APPEAR+IN+TEST+OUTPUT+NOT+TRUNCATED+%26lt%3B---</segment>
+ <subtable>
+ <row>
+ <label>event name Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long ---&gt; SHOULD APPEAR IN TEST OUTPUT NOT TRUNCATED &lt;---</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>19.32</sum_event_value>
+ <min_event_value>9.66</min_event_value>
+ <max_event_value>9.66</max_event_value>
+ <avg_event_value>9.66</avg_event_value>
+ </row>
+ </subtable>
+ </row>
+ <row>
<label>play</label>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_visits>2</nb_visits>
@@ -241,4 +327,41 @@
</row>
</subtable>
</row>
+ <row>
+ <label>Search</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ <segment>eventAction==Search</segment>
+ <subtable>
+ <row>
+ <label>Search query here</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>This is an event without a URL</label>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_visits>1</nb_visits>
+ <nb_events>3</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>23</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>23</max_event_value>
+ <avg_event_value>11.5</avg_event_value>
+ <segment>eventAction==This+is+an+event+without+a+URL</segment>
+ </row>
</result> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getCategory_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getCategory_day.xml
index 319be3b443..ed183f1c09 100644
--- a/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getCategory_day.xml
+++ b/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getCategory_day.xml
@@ -2,14 +2,14 @@
<result>
<row>
<label>Movie</label>
- <nb_uniq_visitors>16</nb_uniq_visitors>
- <nb_visits>16</nb_visits>
- <nb_events>16</nb_events>
- <nb_events_with_value>0</nb_events_with_value>
- <sum_event_value>0</sum_event_value>
+ <nb_uniq_visitors>22</nb_uniq_visitors>
+ <nb_visits>22</nb_visits>
+ <nb_events>22</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>19.32</sum_event_value>
<min_event_value>0</min_event_value>
- <max_event_value>0</max_event_value>
- <avg_event_value>0</avg_event_value>
+ <max_event_value>9.66</max_event_value>
+ <avg_event_value>9.66</avg_event_value>
<segment>eventCategory==Movie</segment>
<subtable>
<row>
@@ -24,6 +24,17 @@
<avg_event_value>0</avg_event_value>
</row>
<row>
+ <label>clickBuyNow</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
<label>play25%</label>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_visits>2</nb_visits>
@@ -78,18 +89,40 @@
<max_event_value>0</max_event_value>
<avg_event_value>0</avg_event_value>
</row>
+ <row>
+ <label>rating</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>19.32</sum_event_value>
+ <min_event_value>9.66</min_event_value>
+ <max_event_value>9.66</max_event_value>
+ <avg_event_value>9.66</avg_event_value>
+ </row>
+ <row>
+ <label>Search</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
</subtable>
</row>
<row>
<label>Music</label>
- <nb_uniq_visitors>10</nb_uniq_visitors>
- <nb_visits>10</nb_visits>
- <nb_events>10</nb_events>
- <nb_events_with_value>0</nb_events_with_value>
- <sum_event_value>0</sum_event_value>
+ <nb_uniq_visitors>12</nb_uniq_visitors>
+ <nb_visits>12</nb_visits>
+ <nb_events>14</nb_events>
+ <nb_events_with_value>4</nb_events_with_value>
+ <sum_event_value>38</sum_event_value>
<min_event_value>0</min_event_value>
- <max_event_value>0</max_event_value>
- <avg_event_value>0</avg_event_value>
+ <max_event_value>10</max_event_value>
+ <avg_event_value>9.5</avg_event_value>
<segment>eventCategory==Music</segment>
<subtable>
<row>
@@ -147,6 +180,67 @@
<max_event_value>0</max_event_value>
<avg_event_value>0</avg_event_value>
</row>
+ <row>
+ <label>rating</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>4</nb_events>
+ <nb_events_with_value>4</nb_events_with_value>
+ <sum_event_value>38</sum_event_value>
+ <min_event_value>9</min_event_value>
+ <max_event_value>10</max_event_value>
+ <avg_event_value>9.5</avg_event_value>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>event category Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long ---&gt; SHOULD APPEAR IN TEST OUTPUT NOT TRUNCATED &lt;---</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>19.32</sum_event_value>
+ <min_event_value>9.66</min_event_value>
+ <max_event_value>9.66</max_event_value>
+ <avg_event_value>9.66</avg_event_value>
+ <segment>eventCategory==event+category+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+---%26gt%3B+SHOULD+APPEAR+IN+TEST+OUTPUT+NOT+TRUNCATED+%26lt%3B---</segment>
+ <subtable>
+ <row>
+ <label>event action Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long ---&gt; SHOULD APPEAR IN TEST OUTPUT NOT TRUNCATED &lt;---</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>19.32</sum_event_value>
+ <min_event_value>9.66</min_event_value>
+ <max_event_value>9.66</max_event_value>
+ <avg_event_value>9.66</avg_event_value>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>CategoryTriggersGoal here</label>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_visits>1</nb_visits>
+ <nb_events>3</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>23</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>23</max_event_value>
+ <avg_event_value>11.5</avg_event_value>
+ <segment>eventCategory==CategoryTriggersGoal+here</segment>
+ <subtable>
+ <row>
+ <label>This is an event without a URL</label>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_visits>1</nb_visits>
+ <nb_events>3</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>23</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>23</max_event_value>
+ <avg_event_value>11.5</avg_event_value>
+ </row>
</subtable>
</row>
</result> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getName_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getName_day.xml
index 73eb523352..d2b7fbedf8 100644
--- a/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getName_day.xml
+++ b/tests/PHPUnit/System/expected/test_CustomEvents_segmentMatchesEventActionPlay__Events.getName_day.xml
@@ -2,17 +2,28 @@
<result>
<row>
<label>Spirited Away (千と千尋の神隠し)</label>
- <nb_uniq_visitors>12</nb_uniq_visitors>
- <nb_visits>12</nb_visits>
- <nb_events>12</nb_events>
- <nb_events_with_value>0</nb_events_with_value>
- <sum_event_value>0</sum_event_value>
+ <nb_uniq_visitors>16</nb_uniq_visitors>
+ <nb_visits>16</nb_visits>
+ <nb_events>16</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>19.32</sum_event_value>
<min_event_value>0</min_event_value>
- <max_event_value>0</max_event_value>
- <avg_event_value>0</avg_event_value>
+ <max_event_value>9.66</max_event_value>
+ <avg_event_value>9.66</avg_event_value>
<segment>eventName==Spirited+Away+%28%E5%8D%83%E3%81%A8%E5%8D%83%E5%B0%8B%E3%81%AE%E7%A5%9E%E9%9A%A0%E3%81%97%29</segment>
<subtable>
<row>
+ <label>clickBuyNow</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ <row>
<label>play25%</label>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_visits>2</nb_visits>
@@ -78,18 +89,29 @@
<max_event_value>0</max_event_value>
<avg_event_value>0</avg_event_value>
</row>
+ <row>
+ <label>rating</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>19.32</sum_event_value>
+ <min_event_value>9.66</min_event_value>
+ <max_event_value>9.66</max_event_value>
+ <avg_event_value>9.66</avg_event_value>
+ </row>
</subtable>
</row>
<row>
<label>La fiancée de l'eau</label>
- <nb_uniq_visitors>10</nb_uniq_visitors>
- <nb_visits>10</nb_visits>
- <nb_events>10</nb_events>
- <nb_events_with_value>0</nb_events_with_value>
- <sum_event_value>0</sum_event_value>
+ <nb_uniq_visitors>12</nb_uniq_visitors>
+ <nb_visits>12</nb_visits>
+ <nb_events>14</nb_events>
+ <nb_events_with_value>4</nb_events_with_value>
+ <sum_event_value>38</sum_event_value>
<min_event_value>0</min_event_value>
- <max_event_value>0</max_event_value>
- <avg_event_value>0</avg_event_value>
+ <max_event_value>10</max_event_value>
+ <avg_event_value>9.5</avg_event_value>
<segment>eventName==La+fianc%C3%A9e+de+l%26%23039%3Beau</segment>
<subtable>
<row>
@@ -147,6 +169,42 @@
<max_event_value>0</max_event_value>
<avg_event_value>0</avg_event_value>
</row>
+ <row>
+ <label>rating</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>4</nb_events>
+ <nb_events_with_value>4</nb_events_with_value>
+ <sum_event_value>38</sum_event_value>
+ <min_event_value>9</min_event_value>
+ <max_event_value>10</max_event_value>
+ <avg_event_value>9.5</avg_event_value>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>event name Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long ---&gt; SHOULD APPEAR IN TEST OUTPUT NOT TRUNCATED &lt;---</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>19.32</sum_event_value>
+ <min_event_value>9.66</min_event_value>
+ <max_event_value>9.66</max_event_value>
+ <avg_event_value>9.66</avg_event_value>
+ <segment>eventName==event+name+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+Extremely+long+---%26gt%3B+SHOULD+APPEAR+IN+TEST+OUTPUT+NOT+TRUNCATED+%26lt%3B---</segment>
+ <subtable>
+ <row>
+ <label>event action Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long Extremely long ---&gt; SHOULD APPEAR IN TEST OUTPUT NOT TRUNCATED &lt;---</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>19.32</sum_event_value>
+ <min_event_value>9.66</min_event_value>
+ <max_event_value>9.66</max_event_value>
+ <avg_event_value>9.66</avg_event_value>
+ </row>
</subtable>
</row>
<row>
@@ -199,4 +257,53 @@
</row>
</subtable>
</row>
+ <row>
+ <label>Search query here</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ <segment>eventName==Search+query+here</segment>
+ <subtable>
+ <row>
+ <label>Search</label>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
+ <nb_visits>2</nb_visits>
+ <nb_events>2</nb_events>
+ <nb_events_with_value>0</nb_events_with_value>
+ <sum_event_value>0</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>0</max_event_value>
+ <avg_event_value>0</avg_event_value>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Event Name not defined</label>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_visits>1</nb_visits>
+ <nb_events>3</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>23</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>23</max_event_value>
+ <avg_event_value>11.5</avg_event_value>
+ <subtable>
+ <row>
+ <label>This is an event without a URL</label>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_visits>1</nb_visits>
+ <nb_events>3</nb_events>
+ <nb_events_with_value>2</nb_events_with_value>
+ <sum_event_value>23</sum_event_value>
+ <min_event_value>0</min_event_value>
+ <max_event_value>23</max_event_value>
+ <avg_event_value>11.5</avg_event_value>
+ </row>
+ </subtable>
+ </row>
</result> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_UrlNormalization_pagesSegmented__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_UrlNormalization_pagesSegmented__Actions.getPageUrls_day.xml
index bc40678fe7..7bab150d6a 100644
--- a/tests/PHPUnit/System/expected/test_UrlNormalization_pagesSegmented__Actions.getPageUrls_day.xml
+++ b/tests/PHPUnit/System/expected/test_UrlNormalization_pagesSegmented__Actions.getPageUrls_day.xml
@@ -2,35 +2,129 @@
<result>
<row>
<label>foo</label>
- <nb_visits>1</nb_visits>
- <nb_hits>2</nb_hits>
- <sum_time_spent>360</sum_time_spent>
+ <nb_visits>4</nb_visits>
+ <nb_hits>6</nb_hits>
+ <sum_time_spent>2520</sum_time_spent>
<sum_bandwidth>0</sum_bandwidth>
<nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
<min_bandwidth />
<max_bandwidth />
+ <entry_nb_visits>1</entry_nb_visits>
+ <entry_nb_actions>8</entry_nb_actions>
+ <entry_sum_visit_length>2161</entry_sum_visit_length>
+ <entry_bounce_count>0</entry_bounce_count>
+ <exit_nb_visits>1</exit_nb_visits>
<avg_bandwidth>0</avg_bandwidth>
- <avg_time_on_page>180</avg_time_on_page>
+ <avg_time_on_page>420</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
- <exit_rate>0%</exit_rate>
+ <exit_rate>25%</exit_rate>
<segment>pageUrl=^http%253A%252F%252Fpiwik.net%252Ffoo</segment>
<subtable>
<row>
+ <label>/bar.html</label>
+ <nb_visits>1</nb_visits>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_hits>2</nb_hits>
+ <sum_time_spent>1080</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
+ <entry_nb_visits>1</entry_nb_visits>
+ <entry_nb_actions>8</entry_nb_actions>
+ <entry_sum_visit_length>2161</entry_sum_visit_length>
+ <entry_bounce_count>0</entry_bounce_count>
+ <avg_time_on_page>540</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>0%</exit_rate>
+ <url>http://example.org/foo/bar.html</url>
+ <segment>pageUrl==http%3A%2F%2Fexample.org%2Ffoo%2Fbar.html</segment>
+ </row>
+ <row>
<label>/bar2.html</label>
<nb_visits>1</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_hits>2</nb_hits>
- <sum_time_spent>360</sum_time_spent>
+ <sum_time_spent>720</sum_time_spent>
<sum_bandwidth>0</sum_bandwidth>
<nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
<min_bandwidth />
<max_bandwidth />
- <avg_time_on_page>180</avg_time_on_page>
+ <avg_time_on_page>360</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
<exit_rate>0%</exit_rate>
<url>https://www.example.org/foo/bar2.html</url>
<segment>pageUrl==https%3A%2F%2Fwww.example.org%2Ffoo%2Fbar2.html</segment>
</row>
+ <row>
+ <label>/bar3.html</label>
+ <nb_visits>1</nb_visits>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_hits>1</nb_hits>
+ <sum_time_spent>720</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <avg_time_on_page>720</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>0%</exit_rate>
+ <url>http://www.example.org/foo/bar3.html</url>
+ <segment>pageUrl==http%3A%2F%2Fwww.example.org%2Ffoo%2Fbar3.html</segment>
+ </row>
+ <row>
+ <label>/bar4.html</label>
+ <nb_visits>1</nb_visits>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_hits>1</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <exit_nb_uniq_visitors>1</exit_nb_uniq_visitors>
+ <exit_nb_visits>1</exit_nb_visits>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>100%</exit_rate>
+ <url>https://example.org/foo/bar4.html</url>
+ <segment>pageUrl==https%3A%2F%2Fexample.org%2Ffoo%2Fbar4.html</segment>
+ </row>
</subtable>
</row>
+ <row>
+ <label>/?emoji=�l&amp;param=test</label>
+ <nb_visits>1</nb_visits>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_hits>1</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>0%</exit_rate>
+ <url>https://make.wordpress.org/?emoji=�l&amp;param=test</url>
+ <segment>pageUrl==https%3A%2F%2Fmake.wordpress.org%2F%3Femoji%3D%EF%BF%BDl%26param%3Dtest</segment>
+ </row>
+ <row>
+ <label>/ꟽ碌㒧䊶亄ﶆⅅขκもኸόσशμεޖृ</label>
+ <nb_visits>1</nb_visits>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_hits>1</nb_hits>
+ <sum_time_spent>360</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>360</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>0%</exit_rate>
+ <url>http://www.my.url/ꟽ碌㒧䊶亄ﶆⅅขκもኸόσशμεޖृ</url>
+ <segment>pageUrl==http%3A%2F%2Fwww.my.url%2F%EA%9F%BD%EF%A4%BB%E3%92%A7%E4%8A%B6%E4%BA%84%EF%B6%86%E2%85%85%E0%B8%82%CE%BA%E3%82%82%E1%8A%B8%E1%BD%B9%CF%83%E0%A4%B6%CE%BC%CE%B5%DE%96%E0%A5%83</segment>
+ </row>
</result> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContainsStrangeCharacters__Actions.getPageTitles_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContainsStrangeCharacters__Actions.getPageTitles_day.xml
index f55cab4823..d2154413c1 100644
--- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContainsStrangeCharacters__Actions.getPageTitles_day.xml
+++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContainsStrangeCharacters__Actions.getPageTitles_day.xml
@@ -1,6 +1,43 @@
<?xml version="1.0" encoding="utf-8" ?>
<result>
<row>
+ <label> Homepage</label>
+ <nb_visits>1</nb_visits>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_hits>1</nb_hits>
+ <sum_time_spent>360</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
+ <entry_nb_visits>1</entry_nb_visits>
+ <entry_nb_actions>3</entry_nb_actions>
+ <entry_sum_visit_length>364</entry_sum_visit_length>
+ <entry_bounce_count>0</entry_bounce_count>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>360</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>0%</exit_rate>
+ <segment>pageTitle==Homepage</segment>
+ </row>
+ <row>
+ <label> Profile page</label>
+ <nb_visits>1</nb_visits>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_hits>1</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>0%</exit_rate>
+ <segment>pageTitle==Profile+page</segment>
+ </row>
+ <row>
<label> Profile page for user *_)%</label>
<nb_visits>1</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__Actions.getPageTitles_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__Actions.getPageTitles_day.xml
index ab15d57690..d2154413c1 100644
--- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__Actions.getPageTitles_day.xml
+++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__Actions.getPageTitles_day.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="utf-8" ?>
<result>
<row>
+ <label> Homepage</label>
+ <nb_visits>1</nb_visits>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_hits>1</nb_hits>
+ <sum_time_spent>360</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
+ <entry_nb_visits>1</entry_nb_visits>
+ <entry_nb_actions>3</entry_nb_actions>
+ <entry_sum_visit_length>364</entry_sum_visit_length>
+ <entry_bounce_count>0</entry_bounce_count>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>360</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>0%</exit_rate>
+ <segment>pageTitle==Homepage</segment>
+ </row>
+ <row>
<label> Profile page</label>
<nb_visits>1</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__Actions.getPageUrls_day.xml
index d34a4df8cc..a7ea5acf33 100644
--- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__Actions.getPageUrls_day.xml
+++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleContains__Actions.getPageUrls_day.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="utf-8" ?>
<result>
<row>
+ <label>/homepage</label>
+ <nb_visits>1</nb_visits>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_hits>1</nb_hits>
+ <sum_time_spent>360</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
+ <entry_nb_visits>1</entry_nb_visits>
+ <entry_nb_actions>3</entry_nb_actions>
+ <entry_sum_visit_length>364</entry_sum_visit_length>
+ <entry_bounce_count>0</entry_bounce_count>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>360</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>0%</exit_rate>
+ <url>http://example.org/homepage</url>
+ <segment>pageUrl==http%3A%2F%2Fexample.org%2Fhomepage</segment>
+ </row>
+ <row>
<label>user</label>
<nb_visits>1</nb_visits>
<nb_hits>2</nb_hits>
diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleEndsWith__Actions.getPageTitles_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleEndsWith__Actions.getPageTitles_day.xml
index 9ed2f055f1..ebe18a23ae 100644
--- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleEndsWith__Actions.getPageTitles_day.xml
+++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleEndsWith__Actions.getPageTitles_day.xml
@@ -39,4 +39,22 @@
<exit_rate>0%</exit_rate>
<segment>pageTitle==Profile+page</segment>
</row>
+ <row>
+ <label> Profile page for user *_)%</label>
+ <nb_visits>1</nb_visits>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_hits>1</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <exit_nb_uniq_visitors>1</exit_nb_uniq_visitors>
+ <exit_nb_visits>1</exit_nb_visits>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>100%</exit_rate>
+ <segment>pageTitle==Profile+page+for+user+%2A_%29%25</segment>
+ </row>
</result> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__Actions.getPageTitles_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__Actions.getPageTitles_day.xml
index 23b6c74282..ebe18a23ae 100644
--- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__Actions.getPageTitles_day.xml
+++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__Actions.getPageTitles_day.xml
@@ -5,7 +5,7 @@
<nb_visits>2</nb_visits>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_hits>2</nb_hits>
- <sum_time_spent>0</sum_time_spent>
+ <sum_time_spent>360</sum_time_spent>
<sum_bandwidth>0</sum_bandwidth>
<nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
<min_bandwidth />
@@ -18,9 +18,43 @@
<exit_nb_uniq_visitors>1</exit_nb_uniq_visitors>
<exit_nb_visits>1</exit_nb_visits>
<avg_bandwidth>0</avg_bandwidth>
- <avg_time_on_page>0</avg_time_on_page>
+ <avg_time_on_page>180</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
<exit_rate>50%</exit_rate>
<segment>pageTitle==Homepage</segment>
</row>
+ <row>
+ <label> Profile page</label>
+ <nb_visits>1</nb_visits>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_hits>1</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>0%</exit_rate>
+ <segment>pageTitle==Profile+page</segment>
+ </row>
+ <row>
+ <label> Profile page for user *_)%</label>
+ <nb_visits>1</nb_visits>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_hits>1</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <exit_nb_uniq_visitors>1</exit_nb_uniq_visitors>
+ <exit_nb_visits>1</exit_nb_visits>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>100%</exit_rate>
+ <segment>pageTitle==Profile+page+for+user+%2A_%29%25</segment>
+ </row>
</result> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__Actions.getPageUrls_day.xml
index c166b55d0c..e3c1e39da7 100644
--- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__Actions.getPageUrls_day.xml
+++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleExcludes__Actions.getPageUrls_day.xml
@@ -5,7 +5,7 @@
<nb_visits>2</nb_visits>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_hits>2</nb_hits>
- <sum_time_spent>0</sum_time_spent>
+ <sum_time_spent>360</sum_time_spent>
<sum_bandwidth>0</sum_bandwidth>
<nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
<min_bandwidth />
@@ -18,10 +18,46 @@
<exit_nb_uniq_visitors>1</exit_nb_uniq_visitors>
<exit_nb_visits>1</exit_nb_visits>
<avg_bandwidth>0</avg_bandwidth>
- <avg_time_on_page>0</avg_time_on_page>
+ <avg_time_on_page>180</avg_time_on_page>
<bounce_rate>50%</bounce_rate>
<exit_rate>50%</exit_rate>
<url>http://example.org/homepage</url>
<segment>pageUrl==http%3A%2F%2Fexample.org%2Fhomepage</segment>
</row>
+ <row>
+ <label>user</label>
+ <nb_visits>1</nb_visits>
+ <nb_hits>2</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <exit_nb_visits>1</exit_nb_visits>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>100%</exit_rate>
+ <segment>pageUrl=^http%253A%252F%252Fpiwik.net%252Fuser</segment>
+ <subtable>
+ <row>
+ <label>/profile</label>
+ <nb_visits>1</nb_visits>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_hits>2</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <exit_nb_uniq_visitors>1</exit_nb_uniq_visitors>
+ <exit_nb_visits>1</exit_nb_visits>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>100%</exit_rate>
+ <url>http://example.org/user/profile</url>
+ <segment>pageUrl==http%3A%2F%2Fexample.org%2Fuser%2Fprofile</segment>
+ </row>
+ </subtable>
+ </row>
</result> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleStartsWith__Actions.getPageTitles_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleStartsWith__Actions.getPageTitles_day.xml
index ab15d57690..d2154413c1 100644
--- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleStartsWith__Actions.getPageTitles_day.xml
+++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageTitleStartsWith__Actions.getPageTitles_day.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="utf-8" ?>
<result>
<row>
+ <label> Homepage</label>
+ <nb_visits>1</nb_visits>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_hits>1</nb_hits>
+ <sum_time_spent>360</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
+ <entry_nb_visits>1</entry_nb_visits>
+ <entry_nb_actions>3</entry_nb_actions>
+ <entry_sum_visit_length>364</entry_sum_visit_length>
+ <entry_bounce_count>0</entry_bounce_count>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>360</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>0%</exit_rate>
+ <segment>pageTitle==Homepage</segment>
+ </row>
+ <row>
<label> Profile page</label>
<nb_visits>1</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__Actions.getPageTitles_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__Actions.getPageTitles_day.xml
index ab15d57690..d2154413c1 100644
--- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__Actions.getPageTitles_day.xml
+++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__Actions.getPageTitles_day.xml
@@ -1,6 +1,27 @@
<?xml version="1.0" encoding="utf-8" ?>
<result>
<row>
+ <label> Homepage</label>
+ <nb_visits>1</nb_visits>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_hits>1</nb_hits>
+ <sum_time_spent>360</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
+ <entry_nb_visits>1</entry_nb_visits>
+ <entry_nb_actions>3</entry_nb_actions>
+ <entry_sum_visit_length>364</entry_sum_visit_length>
+ <entry_bounce_count>0</entry_bounce_count>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>360</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>0%</exit_rate>
+ <segment>pageTitle==Homepage</segment>
+ </row>
+ <row>
<label> Profile page</label>
<nb_visits>1</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__Actions.getPageUrls_day.xml
index d34a4df8cc..a7ea5acf33 100644
--- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__Actions.getPageUrls_day.xml
+++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlContains__Actions.getPageUrls_day.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="utf-8" ?>
<result>
<row>
+ <label>/homepage</label>
+ <nb_visits>1</nb_visits>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_hits>1</nb_hits>
+ <sum_time_spent>360</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
+ <entry_nb_visits>1</entry_nb_visits>
+ <entry_nb_actions>3</entry_nb_actions>
+ <entry_sum_visit_length>364</entry_sum_visit_length>
+ <entry_bounce_count>0</entry_bounce_count>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>360</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>0%</exit_rate>
+ <url>http://example.org/homepage</url>
+ <segment>pageUrl==http%3A%2F%2Fexample.org%2Fhomepage</segment>
+ </row>
+ <row>
<label>user</label>
<nb_visits>1</nb_visits>
<nb_hits>2</nb_hits>
diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlEndsWith__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlEndsWith__Actions.getPageUrls_day.xml
index d34a4df8cc..a7ea5acf33 100644
--- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlEndsWith__Actions.getPageUrls_day.xml
+++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlEndsWith__Actions.getPageUrls_day.xml
@@ -1,6 +1,28 @@
<?xml version="1.0" encoding="utf-8" ?>
<result>
<row>
+ <label>/homepage</label>
+ <nb_visits>1</nb_visits>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_hits>1</nb_hits>
+ <sum_time_spent>360</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
+ <entry_nb_visits>1</entry_nb_visits>
+ <entry_nb_actions>3</entry_nb_actions>
+ <entry_sum_visit_length>364</entry_sum_visit_length>
+ <entry_bounce_count>0</entry_bounce_count>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>360</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>0%</exit_rate>
+ <url>http://example.org/homepage</url>
+ <segment>pageUrl==http%3A%2F%2Fexample.org%2Fhomepage</segment>
+ </row>
+ <row>
<label>user</label>
<nb_visits>1</nb_visits>
<nb_hits>2</nb_hits>
diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__Actions.getPageTitles_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__Actions.getPageTitles_day.xml
index 23b6c74282..ebe18a23ae 100644
--- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__Actions.getPageTitles_day.xml
+++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__Actions.getPageTitles_day.xml
@@ -5,7 +5,7 @@
<nb_visits>2</nb_visits>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_hits>2</nb_hits>
- <sum_time_spent>0</sum_time_spent>
+ <sum_time_spent>360</sum_time_spent>
<sum_bandwidth>0</sum_bandwidth>
<nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
<min_bandwidth />
@@ -18,9 +18,43 @@
<exit_nb_uniq_visitors>1</exit_nb_uniq_visitors>
<exit_nb_visits>1</exit_nb_visits>
<avg_bandwidth>0</avg_bandwidth>
- <avg_time_on_page>0</avg_time_on_page>
+ <avg_time_on_page>180</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
<exit_rate>50%</exit_rate>
<segment>pageTitle==Homepage</segment>
</row>
+ <row>
+ <label> Profile page</label>
+ <nb_visits>1</nb_visits>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_hits>1</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>0%</exit_rate>
+ <segment>pageTitle==Profile+page</segment>
+ </row>
+ <row>
+ <label> Profile page for user *_)%</label>
+ <nb_visits>1</nb_visits>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_hits>1</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <exit_nb_uniq_visitors>1</exit_nb_uniq_visitors>
+ <exit_nb_visits>1</exit_nb_visits>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>100%</exit_rate>
+ <segment>pageTitle==Profile+page+for+user+%2A_%29%25</segment>
+ </row>
</result> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__Actions.getPageUrls_day.xml
index c166b55d0c..e3c1e39da7 100644
--- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__Actions.getPageUrls_day.xml
+++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlExcludes__Actions.getPageUrls_day.xml
@@ -5,7 +5,7 @@
<nb_visits>2</nb_visits>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_hits>2</nb_hits>
- <sum_time_spent>0</sum_time_spent>
+ <sum_time_spent>360</sum_time_spent>
<sum_bandwidth>0</sum_bandwidth>
<nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
<min_bandwidth />
@@ -18,10 +18,46 @@
<exit_nb_uniq_visitors>1</exit_nb_uniq_visitors>
<exit_nb_visits>1</exit_nb_visits>
<avg_bandwidth>0</avg_bandwidth>
- <avg_time_on_page>0</avg_time_on_page>
+ <avg_time_on_page>180</avg_time_on_page>
<bounce_rate>50%</bounce_rate>
<exit_rate>50%</exit_rate>
<url>http://example.org/homepage</url>
<segment>pageUrl==http%3A%2F%2Fexample.org%2Fhomepage</segment>
</row>
+ <row>
+ <label>user</label>
+ <nb_visits>1</nb_visits>
+ <nb_hits>2</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <exit_nb_visits>1</exit_nb_visits>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>100%</exit_rate>
+ <segment>pageUrl=^http%253A%252F%252Fpiwik.net%252Fuser</segment>
+ <subtable>
+ <row>
+ <label>/profile</label>
+ <nb_visits>1</nb_visits>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_hits>2</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <exit_nb_uniq_visitors>1</exit_nb_uniq_visitors>
+ <exit_nb_visits>1</exit_nb_visits>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>100%</exit_rate>
+ <url>http://example.org/user/profile</url>
+ <segment>pageUrl==http%3A%2F%2Fexample.org%2Fuser%2Fprofile</segment>
+ </row>
+ </subtable>
+ </row>
</result> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlStartsWith__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlStartsWith__Actions.getPageUrls_day.xml
index c166b55d0c..e3c1e39da7 100644
--- a/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlStartsWith__Actions.getPageUrls_day.xml
+++ b/tests/PHPUnit/System/expected/test_twoVisitsWithCustomVariables_SegmentPageUrlStartsWith__Actions.getPageUrls_day.xml
@@ -5,7 +5,7 @@
<nb_visits>2</nb_visits>
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_hits>2</nb_hits>
- <sum_time_spent>0</sum_time_spent>
+ <sum_time_spent>360</sum_time_spent>
<sum_bandwidth>0</sum_bandwidth>
<nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
<min_bandwidth />
@@ -18,10 +18,46 @@
<exit_nb_uniq_visitors>1</exit_nb_uniq_visitors>
<exit_nb_visits>1</exit_nb_visits>
<avg_bandwidth>0</avg_bandwidth>
- <avg_time_on_page>0</avg_time_on_page>
+ <avg_time_on_page>180</avg_time_on_page>
<bounce_rate>50%</bounce_rate>
<exit_rate>50%</exit_rate>
<url>http://example.org/homepage</url>
<segment>pageUrl==http%3A%2F%2Fexample.org%2Fhomepage</segment>
</row>
+ <row>
+ <label>user</label>
+ <nb_visits>1</nb_visits>
+ <nb_hits>2</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <exit_nb_visits>1</exit_nb_visits>
+ <avg_bandwidth>0</avg_bandwidth>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>100%</exit_rate>
+ <segment>pageUrl=^http%253A%252F%252Fpiwik.net%252Fuser</segment>
+ <subtable>
+ <row>
+ <label>/profile</label>
+ <nb_visits>1</nb_visits>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_hits>2</nb_hits>
+ <sum_time_spent>0</sum_time_spent>
+ <sum_bandwidth>0</sum_bandwidth>
+ <nb_hits_with_bandwidth>0</nb_hits_with_bandwidth>
+ <min_bandwidth />
+ <max_bandwidth />
+ <exit_nb_uniq_visitors>1</exit_nb_uniq_visitors>
+ <exit_nb_visits>1</exit_nb_visits>
+ <avg_time_on_page>0</avg_time_on_page>
+ <bounce_rate>0%</bounce_rate>
+ <exit_rate>100%</exit_rate>
+ <url>http://example.org/user/profile</url>
+ <segment>pageUrl==http%3A%2F%2Fexample.org%2Fuser%2Fprofile</segment>
+ </row>
+ </subtable>
+ </row>
</result> \ No newline at end of file
diff --git a/tests/UI/expected-screenshots/UIIntegrationTest_admin_diagnostics_configfile.png b/tests/UI/expected-screenshots/UIIntegrationTest_admin_diagnostics_configfile.png
index 2c4598656a..523ca82f0f 100644
--- a/tests/UI/expected-screenshots/UIIntegrationTest_admin_diagnostics_configfile.png
+++ b/tests/UI/expected-screenshots/UIIntegrationTest_admin_diagnostics_configfile.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:7ffa504c69b63345e39cb7da6fd06d1289d2c152ecee65e27c4f09d098bdd030
-size 4277783
+oid sha256:a52ada389805b8481a1ac02457c458784295c763dcd18f9d1341a496922a1483
+size 4305563
diff --git a/tests/UI/specs/UIIntegration_spec.js b/tests/UI/specs/UIIntegration_spec.js
index 16e6cc0a44..72d7b41a8a 100644
--- a/tests/UI/specs/UIIntegration_spec.js
+++ b/tests/UI/specs/UIIntegration_spec.js
@@ -477,6 +477,11 @@ describe("UIIntegrationTest", function () { // TODO: Rename to Piwik?
// one page w/ segment
it('should load the visitors > overview page correctly when a segment is specified', async function () {
+ testEnvironment.overrideConfig('General', {
+ enable_segments_cache: 0
+ });
+ testEnvironment.save();
+
await page.goto("?" + urlBase + "#?" + generalParams + "&category=General_Visitors&subcategory=General_Overview&segment=" + segment);
expect(await page.screenshotSelector('.pageWrap,.top_controls')).to.matchImage('visitors_overview_segment');