Categories
- Channel Analytics
- Marketing Integration
- migration
- Omniture Business
- Online Marketing
- Online Merchandising
- Search Engine Marketing
- SEO
- Site Search
- Testing and Targeting
- Web 2.0
- Web analytics
Authors
- Adam Greco (46)
- Alex Hill
- Adam Justis (1)
- Brent Dykes (5)
- Ben Gaines (24)
- Brig Graff (2)
- Brian Hawkins (4)
- Brent Hieggelke (6)
- Bill Mungovan (14)
- Ben Robison (6)
- Chad Greenleaf (2)
- Chris Knoch (4)
- Christopher Parkin (14)
- Christian Ridge (2)
- Chris Zaharias (6)
- David Kirschner (4)
- Ed Hewett (7)
- John Broady (10)
- Josh James (1)
- Jordan LeBaron (5)
- Jim McTiernan (2)
- Jeff Minich (7)
- Jose Santa Ana (2)
- Kiran Kairab Ferrandino (2)
- Kevin Lindsay (3)
- Matt Belkin (35)
- Mikel Chertudi (12)
- Michael Halbrook (3)
- Michael Klein (4)
- Matt Langie (5)
- Pearce Aurigemma (6)
- Steve Gustavson (3)
- Wes Funk (3)
Pages
Recent posts
- Mobile Give and Go: How to Sprint Past the Competition
- Optimize those iPhone Apps!
- Is Search Overhyped?
- Droid Launch Impact on Android Mobile OS: 8X Higher Page Views than G1
- Invest in People, Not Just Tools – Part II
- Test&Target Campaign Measurement
- BlackBerry® Advertising Service: A Breakthrough in Mobile Advertising
- Developer Q&A with Stephen Hammond, Product Manager at Omniture
- Top 5 Mobile Implementation Gotchas
- Explosive Mobile Growth: A Genesis for New Opportunities
Recent comments
- Ed Hewett: Ray--The link onl…
- Ray Springer: Link to SiteCa…
- Phil: We have added our exte…
- Brent Dykes: John, you're ri…
- Brent Dykes: John, I agree. …
- John Hunter: I think a big k…
- John Hunter: Management shou…
- Brent Dykes: Kathleen, thank…
- Kathleen Hurley at Actio: I …
- carol worthington-levy: i tr…
Links
- DigitalAlex
- eMetrics (Jim Sterne)
- Forrester Research (John Lovett)
- Future Now’s grokdotcom
- immeria
- June Dershewitz on Web Analytics
- Lies, Damned Lies
- LunaMetrics
- Mine That Data
- Occam’s Razor
- Rich Page Ramblings
- SemAngel
- The Analytics Guru
- The Omni Man
- Web Analysis, Behavioral Targeting and Advertising
- Web Analytics World
Archives
Custom Link Tracking: Capturing User Actions
From time to time, I receive questions from clients asking how to track something that doesn’t fall under the general category of “page view”—a link, a button, an image, a form interaction—something that can’t easily be captured simply by tagging a page with SiteCatalyst code, even using custom variables. After all, when the page loads, you don’t know what link users will click, what buttons they will press, or what values they will enter into forms.
Nearly always, these solutions involve a feature built in to SiteCatalyst JavaScript code called custom links (also known as Custom Link Tracking, or Link Tracking for short). For those not familiar with the concept, Link Tracking allows you to pass data into SiteCatalyst practically whenever you want—not just when the page loads—opening the door to track link clicks, image loads, form interactions, and nearly anything else that happens on your site. Ever.
If you are an experienced SiteCatalyst user, you may already be familiar with a form of Custom Link Tracking; file downloads and exit links are typically tracked automatically when SiteCatalyst code is implemented on your site. I’ll explain in more detail later how these features work; for now, suffice it to say that they leverage the same basic functionality that we’re about to discuss.
Why Custom Link Tracking?
It almost goes without saying that every web site is a different animal. However, this point is worth making because it is the exact reason why Custom Link Tracking can be so powerful. If every site followed the same basic template, and if each organization had the same KPIs and goals, then SiteCatalyst code would be able to anticipate what links and other user actions you would want to track, and would pass along the data accordingly.
You may work on a lead generation site, passing users along to partner sites via links on your pages.
You may operate a media site, with success being determined in part by impressions and click-throughs of third-party advertisements.
Your site may be retail-oriented, serving upsell recommendations via a sleek AJAX-based overlay on shopping cart pages.
Or your site may be something completely different.
In each of these cases, applying Custom Link Tracking code to links, images, form fields, and other page elements where you want to track something can provide the insight that page view data doesn’t. Note that “Link Tracking” is something of a misnomer; while tracking link clicks is its primary purpose, this feature can be applied to nearly anything, and not just to links.
A great example of this is an AJAX-heavy site, which relies heavily on Link Tracking because of one of the feature’s main advantages: while it is capable of passing nearly any type of SiteCatalyst data, there is one thing that it does not do. It does not count a page view. Sites that change the content of a page without actually loading a new page may not want to count a new page view every time the content changes. For these sites, Custom Link Tracking is perfect—it will pass anything but a page view.
How Does Link Tracking Work?
The nuts-and-bolts of implementing Custom Link Tracking are actually fairly simple as JavaScript goes. They are explained adequately in our Link Tracking white paper, available from the SiteCatalyst online help site. If you find that you still have questions about the technical aspects of Link Tracking after reading that white paper, leave me a comment and I’ll do my best to address them.
The Link Tracking code is typically applied either
- directly in an JavaScript event handler (usually onclick, but others work as well), or
- for more dynamic functionality, in a separate function called in an event handler.
Link Tracking (including automatic download and exit Link Tracking) is based on a function built into the SiteCatalyst “s” object, called s.tl(). When called, s.tl() builds a SiteCatalyst image request containing the Custom Link Tracking data that you choose to pass, along with data for any other variables you’ve chosen to populate.
As an aside, for those of you with ActionSource experience, s.tl() is the JavaScript version of s.trackLink(). Their purpose and structure is the same.
In the case of automatic download and exit Link Tracking, when a page loads, SiteCatalyst inserts an s.tl() function call into the onclick event handlers for any link where the href attribute
- ends in one of the extensions specified in the s.linkDownloadFileTypes variables (for file downloads), or
- does not contain any of the strings specified in the s.linkInternalFilters variable.
There are, essentially, three “types” of custom links; you can specify the type of link that you want to count when you make the s.tl() function call. These types are:
| Link Type | Description | Destination Report |
|---|---|---|
| o | Other/General. This is listed first because it is the most common choice. Used as an all-purpose option, or whenever you know that you don’t want the action to be considered a file download or an exit link. | Site Content > Links > Custom Links |
| d | File Download. Use this when you want the action to be considered a file download (e.g. an HTML page that contains the text of a length piece of documentation—it isn’t going to be tracked as a file download automatically, but for your purposes it may be equivalent to downloading the PDF). | Site Content > Links > File Downloads |
| e | Exit Link. Setting this type will cause the action to be considered an exit link. | Site Content > Links > Custom Links |
The value in the “Link Type” column above goes into the second argument in the s.tl() function call to determine the type of link to count, which also determines which report that will receive the data generated by the given link click (or other action).
A Few Things Everyone Should Know About Link Tracking
You can pass just about anything using Link Tracking.
As I mentioned above, there is really only one thing that Link Tracking won’t do for you: count a page view (and may pass, but will not count, a page name). Any other custom variable can be passed by leveraging the s.linkTrackVars and s.linkTrackEvents variables explained in the online documentation.
Want to pass purchase data using custom links? No problem. On that final purchase button, set s.linkTrackVars="events,products,purchaseID", set s.linkTrackEvents="purchase", set each of these variables and events dynamically, call the s.tl() function, and away you go.
Need to grab the user’s waist size when he/she clicks the “waist size” drop-down menu on your product view page? Piece of cake. The drop-down has an onchange event handler, so you can pass the waist size (or anything else, for that matter) into a prop or eVar whenever the drop-down selection changes and fire off an s.tl() function call. Voila. You know what percentage of users is between a 32- and a 40-inch waist.
You have a survey on your site, and you’re sick of losing out on data from partial responses? Pass the response to each question into a prop and tag the “Next” button with Link Tracking code. Something like s.prop1="question 1:yes" or s.prop1="question1:no" for each of the questions and possible responses should do the trick. That way, whenever someone answers a question, you’ve got it recorded—even if he or she abandons the survey halfway through.
Want to capture an image load as a file download? Easy. When you’re putting Link Tracking into the onload event handler in the image tag, just make sure to set the second argument in s.tl() to a ‘d’ and you’re all set.
And I could keep going. As I said, if you aren’t sure how to capture data that you need after reading this post and the available documentation, please leave me a comment and I’ll address it.
Custom Link Tracking does not count a page view.
I already mentioned this, but it warrants mentioning again here. This means that you will not see any data in your Pages report due to Link Tracking data. Your report suite page view totals will not change when custom link data is passed. However, Custom Link Tracking does count visits and visitors. Thus, it is possible to have more visits than page views. I have seen this in rare cases for sites that rely very heavily on this feature.
You may sometimes hear Omniture representatives refer to Link Tracking image requests as “non-page view events.” Now you know why.
Correlation data is only available when the two variables in question were passed on the same image request.
What does this have to do with Link Tracking? Occasionally, users will complain that when they go to a Custom Traffic report and break down a value in the report by Pages, they get no data. My first question is always, “Are you passing the prop data on a Link Tracking image request?” If the answer is yes, then they’ve answered their own question. If the prop is populated using Link Tracking, then there is no page name value for that hit. Thus, the correlation doesn’t have any data for page name.
The workaround is to pass the page name into another prop on every custom link image request, and then enable a correlation between the original prop and the new one storing the page name.
If you are using Link Tracking on something other than a link, you’ll need to tweak s.tl() slightly.
The first argument in the s.tl() function call is set to “this” by default, with “this” referring to the href attribute of the page element that triggered the s.tl() call. The only problem with “this” in the context of non-links is that anchor tags (i.e. links) are typically the only page elements that have an href attribute. Therefore, if you are tagging a form field, a button, an image, or anything that isn’t a true HTML link with Custom Link Tracking code, “this” will be null. Simply change it to “true” and it should work just fine.
Custom Links do count as server calls.
They can answer questions that normal page views cannot. At the same time, use them wisely.
Even if automatic download and exit link tracking is working fine, there may be cases where you should consider Custom Link Tracking for file downloads and exit links.
In this post, I have already mentioned and explained SiteCatalyst’s automatic file download and exit link tracking mechanism. This will track the URLs of your downloaded files and exit links, but what if you want to pass additional variables—props and eVars, or events—when these links are clicked? What if you want complete control over the values of these variables when users download a file or exit your site? The automatic functionality is a great start, and, depending on your business needs, it may be enough. However, if you determine that it isn’t enough, Custom Link Tracking is a great way to take the reins and get the most actionable data possible regarding these user interactions with your site.
You cannot debug Link Tracking image requests using the JavaScript Debugger, so get familiar with a packet monitor.
I recommend TamperData for Firefox, HTTPWatch for IE, or Charles for both. Each of these tools will allow you to filter your HTTP requests to show only SiteCatalyst image requests by including only URLs containing the string “/b/ss/”, which is a part of every Omniture request.
You can tell that you are looking at a Link Tracking request if you see a “pe=” parameter in the image request. It should be set to “lnk_”, followed by the letter that you chose in the second argument of s.tl(), as described above.
The s.tl() function involves a built-in 500 millisecond delay for very good reason.
This delay is in place to allow the s.tl() function to execute before the next page loads, in cases where Link Tracking is applied to links. If the next page loads before the image request has a chance to be sent, your data will not be tracked. Depending on your implementation, this 500 millisecond delay may not be necessary. For instance, AJAX calls do not involve new page loads, so there is no threat of the browser moving on to the next page before the Link Tracking request is sent. To disable the delay, set the first argument in s.tl() to “true,” as described in #4 above.

Is a way to do there “non-page view events”(aka custom link tracking) if you are not using s_code.js? If one were to just add this “pe” variable to the omniture img request query params, would it not generate a page view?
Hi,
Where would the code be applied to in a link?
Alex: Great question. If I understand correctly, you want to “hard code” a custom link request. This will work as you’ve suggested; add the “pe” parameter to the image source query string, set to lnk_o, lnk_d, or lnk_e. You’ll want to include pev1 and pev2 parameters as well. Set “pev1″ to the URL of the page serving the image and “pev2″ to a friendly name of your choosing. All of this should be URL encoded. For example:
http://yournamespace.112.2o7.net/b/ss/yourrsid/1/NS–H.19.4/s7918237484?pe=lnk_o&pev1=http%3A&2F%2Fwww.yoursite.com&pev2=my%20link. . .
This won’t count a page view and will be treated as a non-page view event, with the type being based on the value in the “pe” parameter.
Melissa: I didn’t include this information in the blog post to save space, since it’s documented in our Link Tracking white paper, but obviously you’ve asked a very important question here. Typically, this code is applied to the onClick event handler in a link. Technically, however, it can be applied to any event handler. The white paper is full of great examples of this. You can download it by logging in to SiteCatalyst and going to Help, then choosing Supporting Docs > White Papers from the left navigation menu in the Help pop-up window.
This concerns your last paragraph (about the 500ms delay). I am using a click event handler and for some requests (in Firefox only), I am getting an NS_LIB or NS_BINDING error. I am assuming that this is because the next page is executed before the return of the image. The delay built into s.tl() does now fire from within my event, so I created a 500ms delay. This fixes some problems but not all. Most of the links that have problems are from form posts or hrefs that pass a good chunk of data.
Has anyone else experienced this? Also, has anyone thought of using a callback function to s.tl() rather than a delay? With the actionsource library, you can do this, but not the javascript library.
Hi,
I have a page that has a logical name say ‘Maps’. Upon user action, an Ajax call is made and the original page is mostly transformed. The logical name is now say ‘Directions’. How do I make SiteCatalyst aware of this new (logical) page and remember its count even though the original page has not refreshed? It sounds like link tracking technique not work for me?
Thx
Sid
Sid: You’re right. The s.tl() function probably isn’t what you want to use there. I suppose the answer to your question depends on whether you want to count a new page view when the page transformation occurs. If so, then during the transformation simply set s.pageName=”Directions” and then make an s.t() function call (with no arguments). This will pass another page view, with the new s.pageName value of “Directions.”
If you do not want to count another page view, and simply want to change the s.pageName value, you can do this by setting s.pageName=”Directions” but not calling s.t().
“You cannot debug Link Tracking image requests using the JavaScript Debugger, so get familiar with a packet monitor.”
As long as you stay on the site, the debugger shows also s.tl calls. ;)
Thx Ben. That worked. I did want the ‘Directions’ page to be counted like any other page.
Hi Adam -
On our site we only use the s.tl() function when the link doesn’t load a new page (in Flash fragments, for instance). In most cases, rather, we pass a tracking code via query string of the URL and capture it in a custom eVar. Since the eVar value can be passed in the same call as the next page load, does it make sense to avoid the s.tl() function for tracking links unless absolutely necessary? (Saving you the extra server call, 1/2 sec delay, and the need to pass the page name on another prop?)
Thanks!
Em
What if s.tl() calls DO generate page views? What then?
I was thinking about using custom events for particular onclick and onload events instead of custom links and populate a prop and evar at the same time, given there is extra value. However, if I can figure out why s.tl() generates page views, I can postpone all that.
Regards,
Garry
Hi Ben,
Thanks for the excellent articles!
We are able to capture page views and visits for a given page and also captured clicks on links on the page using custom link tracking. Now, how do we go about reporting click-through rate for the links which is = ( clicks on link / page views ) - please let me know how to go about doing the reporting part.
Thanks!
Turns out I am behind on responding to comments!
Emily: Custom links are preferable when the data you’re collecting is specific to the individual link or there is a high likelihood of the user leaving before the next page loads. In the case you’ve described, I don’t see either of those being a factor, and tracking on the next page load is a completely appropriate strategy.
Garry: Hmmm. . . I’ve never heard of s.tl() calls generating page views. Is it possible that you have an s.t() call occurring at the same time as your custom link call? A packet monitor would be helpful in detecting this.
If that isn’t the case, and you’re still seeing page views resulting from s.tl() calls, then I believe you’d want to discuss with ClientCare as that is unexpected to say the least. They’ll be able to help isolate any issues in the implementation that may be causing this anomaly in your reporting.
Sam: There are a couple of ways to track click-through rate on links tagged with custom link tracking code. One would be to populate an s.prop variable on all page views (using, say the page name as the value of the variable), and then also populate this prop on custom link calls, using some sort of link ID or name unique to each link. Get your Account Manager to enable pathing on this prop, and then run Fallout reports with the page name as the first “step” in the path, and the link name as the second step. This will show how many people did/did not click the link from the given page.
The other way to do this is to compare data from two separate reports — not something I typically advise — by looking at Instances in the Custom Links report for the given links and comparing that to the Page Views metric in the Pages report for the page containing the links. Instances represent “clicks” in the equation you provided, and page views are, of course, page views.
Hi Ben, regarding your comment on 2009/5/18 @ 11:23 am
I have the same problem. Here is the flow of execution.
On page load I am maing an s.t() call.
I am calling a javascript function when I click on a button on the page.
The java script function is as follows.
var s=s_gi(s_account);
s.events = “purchase”;
s.product = “;id;1;1.0,”;
s.tl();
window.open(”url”,”mywindow”);
When I analyzed through a packet monitor I found the following.
On page load: events = “event2″; (WHich is for Page view)
On invoking the javascript function above: events=”purchase,event2″
I think, it is the “event2″ being sent to Site Catalyst adding my page view count when I invoke the above java script.
Since I open a new window (external page) through the above java script function. I need not consider that ans a page view for my landing page.
Thanks for your help Ben.
Abhilash
Abhilash: I’d need to check out your implementation to know for sure, but it sounds like you might have set s.linkTrackEvents=”event2″ in your core JavaScript file (s_code.js). If you do this, and the event is passed on the page view, it will also be passed on the s.tl() function call unless you change your s.linkTrackVars definition.
A quick way to test this is to add s.linkTrackVars=”purchase” to your onclick handler. That should prevent event2 from being passed.
Ben, thanks much for your response!
I went back and verified that I do not have s.linkTrackEvents=”event2″ set in my core JavaScript file (s_code.js). Instead it is set to “None”.
I have also set s.linkTrackVars=”purchase” in my onclick handler. I have even tried by setting s.linkTrackEvents=”purchase”.
But that didn’t help. I am sure that I am missing some basic stuff here. I can still see event2 & purchase both are being sent to Site Catalyst when I invoke my click handler. I am using ‘Wasp’ to analyze the packets.
Abhilash: Hmmmm. . . intriguing. At this point, I would recommend getting in touch through Omniture ClientCare through your organization’s authorized supported users. Without digging into the depths of your implementation, I’m not sure what else to say. If s.linkTrackEvents is set to ‘purchase’ then event2 shouldn’t be passed. There is definitely an answer there, though—the rock stars in ClientCare will track it down for you.
Ben,
I have some questions, two hours of testing and browsing on the Internet were with no result.
I write script that customer can include in her/his page. I want to support SiteCatalyst in this script .
If customer uses SiteCatalyst (s variable is defined on the page) I want to assign s.eVar20 = ‘XXX’.
Problem is that SiteCatalyst script is on top of the HTML and my script is at the bottom. I wrote the following code:
t = s_gi(s_account);
t.linkTrackVars=”eVar20″;
t.linkTrackEvents=”None”;
t.eVar20 = “MintON”;
t.tl(true, ‘o’, ‘MF’);
Here are two problems: 1) This is not a link, I do not need link tracking. I only want to assign eVar20 to current pageView.
But when I use “t.tl()” without any arguments this behaviours as s.t(). If I call it with arguments my t.tl() overrides s.t() (due to 500 ms delay) and I have to use setTimeout(…, 500).
2) I want to set eVar20 without sending another request to SiteCatalyst, if s.t() request hasn’t been sent yet (500 ms hasn’t been passed). How can I recognize that request to SiteCatalyst (by s.t() call) already has been sent?
What is the best way to do the thing?
Andrey: It sounds like what you’re basically trying to do is insert a new eVar20 value into the s.t() call that happens when the page loads. There really isn’t a way to squeeze an eVar value into an image request unless you’re going to use either s.t() or s.tl(), so I’m not sure there is a good way to accomplish this. If you can describe the business question that you’re trying to answer using eVar20, and the context surrounding the page in question, we might be able to come up with an alternative solution (for example, involving VISTA).
We have js-script that provides additional functionality to a customer. Customer can include this script in his/her page to get this functionality on a page.
Our script calculates some parameter, depending on user session.
Customer wants to segment users depending on value of that parameter.
How can I accomplish this?
Andrey: Can you move just the s.t() call down on the page to below where your script executes? That way, you could simply set an eVar based on the calculated parameter once your script runs and then call s.t(). Short of moving around the code on the page, I’m not sure what can be done.
Ben,
This HTML is in customer page. And my major task to allow customer only include my script and nothing else.
And as I know omniture scripts should be placed on top of HTML?
SiteCatalyst code is typically placed either just inside the opening tag, or just before the closing tag, but where exactly someone chooses to implement it is unique to the individual business. Regardless, I don’t think there is going to be a way to get the calculated parameter into a SiteCatalyst variable unless the function that generates the value has run prior to the s.t() call. I can’t think of a good way around this; once the s.t() call happens, you won’t be able to change any of the data involved.
Thanks Ben. I will request to place s.t() call at the bottom of the page.
It’s a pity that we cannot send eVar in addition (or include it in current s.t() request)
I understand. The s.t() function is designed to send the Omniture image request as soon as it executes, and in fact there are a number of reasons why it is very important that the request be sent as soon as the function is called (perhaps most importantly, so that you have control over exactly when this happens). I apologize for the inconvenience in this particular case.
Ben, you write that “s.t() function is designed to send the Omniture image request as soon as it executes”. But there is 500 ms delay in that s.t() request.
And if I assign s.eVar20 = ‘XXX’ even after s.t() call, it will be sent with s.t() request. And it will be actually sent in 500 ms period of time after s.t() call.
Am I wrong?
Andrey: There is no 500ms delay on s.t() requests, only on s.tl() calls when the first argument is ‘this’. If you set s.eVar20 = ‘XXX’ after the s.t() call, it definitely will not be sent with the request, and the request will happen as soon as possible, not after a delay. :)
Sorry, you are right and I am wrong :-)
It seems that Firebug has a bug when debugging http requests (it showed only one request for 2 s.t() calls). But in Fiddler there are 2 requests in all browsers.
How do you calculate a click-through rate of a link if the page views aren’t being counted?
How would you set up the s.tl and a calculation metrics?
This is probably most easily done by comparing data in the Custom Links report with data for the page containing the given link in the Pages report. As described here, you’ll give each link a “friendly name,” for which an instance is counted each time the link is clicked. If you know the name of the page to which the link belongs, you can look up the friendly name of the link in the Custom Links report and compare that to the number of page views for this page to give you click-through rate for a link. ClickMap can also be useful for getting a sense of click-through rate on individual links.
Hi,
My issue (Ref: Abhilash2009/5/22 @ 8:23 am) is resolved and sharing the solution so that others can use.
var s=s_gi(s_account);
s.events = “purchase”;
products=”100;1;1″;
s.products=products;
s.linkTrackVars=”prop16,eVar16,events,products”;
s.linkTrackEvents=”purchase”;
s.tl(true,”c”,”Submit “);
Thanks
Abhilash
Abhilash: I’m pleased to hear that the issue was resolved! The code you pasted looks good, but to be clear, “c” is not a valid option as the second argument in the s.tl() function call. This should be “o”, “d”, or “e” . . . I don’t believe any other values are expected for that argument.
Hi Ben, Thanks for looking into it.
I have used ‘c’ as a second argument as suggested by our Omniture consultant!
Somehow it is working too.
But when I saw your comment, I looked back at the documentation and found you are correct.
Can you please tell me how bad this can be if the second argument is wrong?
Thanks
Abhilash
Ben,
Can the custom link tracking code be used to create an image request that fires off when an ad is loaded? since the s.products variable has a limited size and I have several adds on the site I want to pass those ad impressions (not clicks) on a separate image request but dont want to inflate my page views.
It sure can. Instead of using the onclick handler, you’d use an onload. For example:
<img src="some_banner.jpg" onload="var s=s_gi('rsid');s.linkTrackVars='prop1';s.prop1='some_ad_id';s.tl(true,'o','Ad Impression');" />Ben,
We tried the onload but its not working for us…we cannot see anything come through via httpfox on firefox and no data in the the metrics report. Here is the code we are using, can you see anything incorrect?
onload=”var s=s_gi(’devrs’);
s.linkTrackVars=’products,events’;
s.linkTrackEvents=’event4′;
s.products=’;member: section’;
s.events=’event4′;
s.tl(true,’o',’Ad Impression’);”
That looks exactly right to me. I would need to take a look at the page to dig any deeper; if it’s publicly available, please feel free to e-mail the URL to me at omniture care at omniture dot com.
Hi,
I have a question here:
I am looking for data for my ‘clickout’; meaning when a visitor clicks on a product, it will be linked to an external page. My question is, where shall I look at to collect the data; is it Exit Links or Custom Links? Also is tagging necessary in this instance?
Thanks,
Suzy
If the link is pointing to an external site, you shouldn’t necessarily need to do any additional tagging; SiteCatalyst automatically tracks any link click where the URL (href) of the link doesn’t contain any of the values listed in the s.linkInternalFilters variable. As long as this variable has been set up correctly, you should be all set. The data will be found in the Site Content > Links > Exit Links report.
You may want to apply manual tagging of these links if you want to pass additional variable values or events whenever the user clicks. However, this is not necessary if you’re mostly interested in getting a total count for each external link.
I just want to confirm that I can get Unique Visitors that have clicked on the custom tracked link?
Yes. Your Account Manager can enable it.
I have been looking for the white paper “Link Tracking” mentioned in several forum comments and this blog. The stated place (in one of the comments of this blog) is no longer valid. Canyou tell me where the white paper is?
Also, is there an API/reference or documentation on using the Omniture javascript code?
How is the javascript as-described in this blog related to what I see as the “beacon javascript” functions?