Hi Mark,
Just discussing this with a collogue and we came up with another idea,
still using asynch AJAX, but place it in the receiving page, then all
the calling page has to do is place the appropriate click event into a
cookie that is persisted across the page transfer. The new page then
checks to see if the cookie is present and immediately (probably as part
of the onload) fires the asynch AJAX, and deletes the cookie.
Just a thought.
Regards.
daff
SOFTWARE ENGINEER
andrew 'daff' niles | spider tracks ltd | 117a the square
po box 5203 | palmerston north 4441 | new zealand
P: +64 6 353 3395 | M: +64 21 515 548
E: [email protected] <mailto:[email protected]>
W: www.spidertracks.com <http://www.spidertracks.com>
Mark Palmer wrote:
Thanks for the thoughtful suggestions...
@djmangus - I already have this working synchronously, but I'm trying
to do a/b testing on things like pricing and conversion rates, and the
extra delay does affect abandonment rates, especially over slow/dialup
connections.
Jeff C - I've looked at google analytics,which did add support for
true async tracking.
GA seems too heavy-weight for what I want to do, at least in the sense
that there's a significant learning curve.
more specifically, what I tried doing was this, in the tracking function
function track (tolink,xparams)
{
new Ajax.Request (
serverurl,
{
method: 'get',
parameters: xparms,
onLoaded: function(ok) { location.href = tolink; }
}
);
}
The above triggers the actual navigation in the completion callback.
If I use onLoaded, it behaves synchronously and will wait for the
server to reply.
If I use onLoading, the data doesn't get sent at all..
From the docs, I'd expect onLoaded to do the trick as it gets called
|onLoaded| (maps on Request sent)
What I need is something like this, which will trigger the navigation
after the data is sent but not wait for the server to respond...
thanks
On Tue, Feb 16, 2010 at 6:47 AM, Jeff C <[email protected]
<mailto:[email protected]>> wrote:
@DJ Mangus: That would have been my simple solution too. Capture the
click event, do my ajax mojo, and then forward them. But like you
mentioned, it will most likely affect the user experience.
@manfmnantucket: Have you ever thought about using google analytics?
It offers the generic visitor info (how many visits, from where,
keywords, etc). But they also have event tracking[1][2]. Once the page
is loaded you can track simple events. For example, when a user stars
and stops a flash movie. I use it to track when someone rates a
picture in my photo gallery, track what icons are clicked on my google
maps, and track all the clicks on outgoing links from my site. It has
been very useful so far.
Just a thought.
[1]
http://code.google.com/apis/analytics/docs/tracking/eventTrackerGuide.html
[2]
http://code.google.com/apis/analytics/docs/tracking/eventTrackerWrappers.html
- J e f f C o n k l i n -
- AOL IM - a14piece
- http://www.getoutsidenj.com
- http://www.carabs.com
- J e f f C o n k l i n -
- AOL IM - a14piece
- http://www.getoutsidenj.com
- http://www.carabs.com
On Tue, Feb 16, 2010 at 3:27 AM, DJ Mangus <[email protected]
<mailto:[email protected]>> wrote:
> Don't see why not though it'd slow down the user experience a
bit (not
> necessarily a good thing).
>
> Have the onclick block, send data to server, server responds,
then in
> the Ajax callback send user to the destination via window.location
>
> Note: I haven't done this, it's just an off the top of my head
> suggestion.
>
> Sent from my phone so please pardon any spelling errors.
>
> On Feb 15, 2010, at 8:28 PM, manfmnantucket
<[email protected] <mailto:[email protected]>>
> wrote:
>
>> Hi all,
>>
>> I'm trying to use Prototype to do asynchronous
click-tracking... that
>> is, to
>> log a server record each time a user clicks a link to navigate to
>> another page.
>>
>> I've set the link onclick up to call a simple function which
makes an
>> Ajax.Request to send the data
>> without blocking.
>>
>> However usually the server never gets the data, I think because the
>> current page Unloads before
>> Request can complete.
>>
>> What's the correct way to accomplish this? Is there a way to
make page
>> Unload wait until the
>> Request is sent (but not until the server responds)??
>>
>> thanks!
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Prototype & script.aculo.us <http://script.aculo.us>"
group.
>> To post to this group, send email to
[email protected]
<mailto:[email protected]>
>> .
>> To unsubscribe from this group, send email to
[email protected]
<mailto:prototype-scriptaculous%[email protected]>
>> .
>> For more options, visit this group at
http://groups.google.com/group/prototype-scriptaculous?hl=en
>> .
>>
>
> --
> You received this message because you are subscribed to the
Google Groups "Prototype & script.aculo.us
<http://script.aculo.us>" group.
> To post to this group, send email to
[email protected]
<mailto:[email protected]>.
> To unsubscribe from this group, send email to
[email protected]
<mailto:prototype-scriptaculous%[email protected]>.
> For more options, visit this group at
http://groups.google.com/group/prototype-scriptaculous?hl=en.
>
>
--
You received this message because you are subscribed to the Google
Groups "Prototype & script.aculo.us <http://script.aculo.us>" group.
To post to this group, send email to
[email protected]
<mailto:[email protected]>.
To unsubscribe from this group, send email to
[email protected]
<mailto:prototype-scriptaculous%[email protected]>.
For more options, visit this group at
http://groups.google.com/group/prototype-scriptaculous?hl=en.
--
You received this message because you are subscribed to the Google
Groups "Prototype & script.aculo.us" group.
To post to this group, send email to
[email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/prototype-scriptaculous?hl=en.
--
You received this message because you are subscribed to the Google Groups "Prototype
& script.aculo.us" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/prototype-scriptaculous?hl=en.