The Piwik application (vsn 2.16.1-b2) is inserting the custom dimension data into the wrong columns. To reproduce
Configure a Web site with 15 visit dimension and 15 action dimensions. Create a Web site with 7 visit dimensions and 7 action dimensions . Run the following test program
function sendCustomDimensions(v1,v2,v3,v4,v5,v6,v7) {
_paq.push(['setCustomDimension', '1', v1]);
_paq.push(['setCustomDimension', '2', v2]);
_paq.push(['setCustomDimension', '3', v3]);
_paq.push(['setCustomDimension', '4', v4]);
_paq.push(['setCustomDimension', '5', v5]);
_paq.push(['setCustomDimension', '6', v6]);
_paq.push(['setCustomDimension', '7', v7]);
};
function sendEvent(category, action, label, value) {
_paq.push(['trackEvent', category, action, label, value])
};
function sendPageView(title) {
window._paq.push(['trackPageView', title]);
};
</script>
<noscript><p><img src="//xxxxxxx....piwik/piwik.php?idsite=1898" style="border:0;" alt="" /></p></noscript>
<!-- End Piwik Code -->
</head>
<body>
<div>Custom Dimension Test</div>
<script type="text/javascript">
var d = new Date();
var n = d.toUTCString();
var cards = [ 'card 1 ' + n , 'card 2 '+ n];
var dimensions = [ "dim 1", "dim 2", "dim 3", "dim 4", "dim 5", "dim 6", "dim 7"];
for ( i = 0; i < cards.length; i++) {
d = [];
for ( j = 0; j < dimensions.length; j++) {
d[j] = dimensions[j] + ' ' + n;
}
sendCustomDimensions(d[0],d[1],d[2],d[3],d[4],d[5],d[6]);
sendPageView(cards[i]);
};
</script>
</body>
The tracking url sent is:
The tracking url correctly matches the dimension and values.
On querying the database the log_link_visit_action_table has the misplaced values
Custom idccustomdimension Column Value
Dimension
Column Name
1 1 dim%201%20Tue,%2015%20Mar%202016%2021:49:54%20GMT
2 3 dim%203%20Tue,%2015%20Mar%202016%2021:49:54%20GMT
3 5 dim%205%20Tue,%2015%20Mar%202016%2021:49:54%20GMT
4 7 dim%207%20Tue,%2015%20Mar%202016%2021:49:54%20GMT
5 9 null
6 11 null
7 13 null
The idcustomdimension value was obtained by querying the custom_dimensions table an matching the scope and index for this web site. It appears that the problem is the dimension index value is not being used to place the
data into the correct column, its more likely that the custom dimension idcustimdimension value is being used.
Thsi occurs for both visit and action scoped custom dimension data.