Problem with goal tracking (missing db records)

Hi.

I actualy have a severe problem with the Goals module (v1.5.1) in Piwik v1.5.1.

As you can see in the following snippet Piwik should perform 1001 requests to the Piwik server (1 for site tracking and 1000 for goal tracking):

try {
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 102);
piwikTracker.trackPageView();
piwikTracker.enableLinkTracking();
for(var i = 0; i < 1000; i++)
	piwikTracker.trackGoal(3);
} catch( err ) {}

Every single request of the 1001 will be recognized in the server logs with status “200 OK” and the Piwik response image (1x1px, white), but Piwik stores only the one for site tracking and around 30 (3%) for goal tracking. There are no notice/warnings/errors in server logs (php debugging enabled by force) - neither Apache nor MySQL nor PHP nor Piwik.
This is only a demonstration of the problem with the Goals module. In real business it collects only around 30 percent of our sales but “all” of the visits.

Does this sound familiar to anbody? Any hints?

Edit: Avg. 600 queries per second on the (dedicated) piwik server.

I believe this is fixed in trunk. 2 goal conversions in the same second, or a page view and goal in same second results in one request being ignored · Issue #2508 · matomo-org/matomo · GitHub

[quote=vipsoft]
I believe this is fixed in trunk. http://dev.piwik.org/trac/ticket/2508[/quote]

Hmm, I already use 1.5.1 like the “fixed” milestone. Maybe this is not that bug or it is still not fixed or I do not understand trac :wink:

For anyone who have the problem that multiple goals are not tracked correcty:

var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", _SITE_ID_);
piwikTracker.trackPageView();
piwikTracker.enableLinkTracking();
var trackQueueInterval = new Array(); function trackQueue(code) { window.clearInterval(trackQueueInterval.splice(0, 1)); eval(code); }
trackQueueInterval.push(window.setInterval('trackQueue(\'piwikTracker.trackGoal(_GOAL_ID_);\')', 1000));
trackQueueInterval.push(window.setInterval('trackQueue(\'piwikTracker.trackGoal(_GOAL_ID_);\')', 2000));
trackQueueInterval.push(window.setInterval('trackQueue(\'piwikTracker.trackGoal(_GOAL_ID_);\')', 3000));
...
trackQueueInterval.push(window.setInterval('trackQueue(\'piwikTracker.trackGoal(_GOAL_ID_);\')', 9000));

Goal tracking limited to one goal a second :wink: It’s ugly but works fine for me.

What are you trying to accomplish? This doesn’t sound like a typical use case for goals. If you can elaborate, maybe we can build the right tool for the job.

[quote=vipsoft]
What are you trying to accomplish? This doesn’t sound like a typical use case for goals.[/quote]

Yeah thats right… we track our order steps as goals and the last (place order) with the revenue.
The conversion rate collects all goals so marketing department have to click more (to the one special goal with revenue) to get the correct CR :wink:

Ah. You need funnels.

We’ve just launched the new Funnels premium plugin! The premium Funnels plugin provides really powerful Conversion Funnels analytics directly in Piwik. Learn more & get the plugin in the Funnel Marketplace page. Check the Funnels User Guide and Funnels FAQ for more information. This plugin will help you increase conversions by showing you where visitors drop off the funnel. Funnels visualizes the steps your users take to complete a goal or purchase to instantly see how well they succeed or fail at each step. Based on this information you can evaluate your success and improve your website or app to boost your conversion rates (CRO) and sales. We have put a lot of love into Funnels to integrate it super nicely into Piwik!