Friday, July 04, 2008     | Register
Jun 20

Written by: Rodney Joyce
6/20/2006

Firstly, let’s look at some scenarios where this would be useful:

  • I have some Google Adverts and I want to track their effectiveness
  • I put a banner or listing on the DotNetNuke site and want to track all incoming clicks
  • I put up a link on a blog or Forum and want to track it’s clickthrough rate

This is all possible to do using Vendors and Affiliate tracking.


Overview
We are going to set up a Vendor for each incoming link we want to track. A Vendor in this case is any website/company that links to us (usually with your primary URL – for example – http://www.smart-thinker.com).


We will then create an Affiliate URL (uniquely identified by VendorID) to distinguish between incoming referrals and increment a tracking count against each Vendor. We then give this URL to each Vendor to use instead of our normal URL.


Solution
As a live example, we will use the Smart-Thinker entry in the DotNetNuke Directory, and track each time a user visits the Smart-Thinker site through the directory.


1) Set up a Vendor for the external system (DotNetNuke Directory in this case)


Click on “Admin > Vendors > Add New Vendor”
Set up your Vendor details and “Update”. It is a good idea to use a test Vendor and use your email address so that you can see the format of the Affiliate URL. In DNN 4.3 and 3.3 (this might be changed in future versions), you then need to display all Vendors by clicking on the “All” filter. Select your new Vendor so that you are taken back to the Vendor detail screen.


2) Set up an Affiliate association for this Vendor


At the bottom of the Vendor detail screen you will see the “Affiliate Referrals” heading (this is the important bit). Click on “Add New Affiliate”. You now need to set a start and stop date to track this Affiliate. I will just select from today to a year in the future (here’s hoping to a long-term prosperous relationship!), although you can leave this blank.


Note that you can do some fancy reporting on “Cost per Click” and “Cost per Acquisition” (i.e. if this user signs up as a member on your site), but we will keep them both as 0. If you have set up a test Vendor with your email address you can click on “Send Notification” and the URL to use will be emailed to you. If you have set up a real Vendor then you could also do this, but I prefer to hand-craft a mail to the Vendor as it is more personal.


3) Give this to your Vendor to use as the referral URL


Assuming you set up yourself as a test Vendor, you should receive an email that looks something like this:



Dear Test Vendor,

Your account for the Smart-Thinker Affiliate Program has been created.

To begin earning rewards, please use the following URL to link to our site:

http://www.smart-thinker.com/Default.aspx?AffiliateId=27

Thank you,
Smart-Thinker


If you look at the URL, you will see that it contains the website address that I would normally use (http://www.smart-thinker.com) PLUS a querystring parameter for the AffiliateID, in my example with an ID of 27. If you go back to your Vendor list you will notice that the test Vendor we set up has an ID of 27 (you can see this by drilling into the Vendor detail and observing the querystring parameters. So, to proceed, I have set up a new Vendor for the DotNetNuke Directory, and I can tell from the Vendor screen that it has a Vendor ID of 21 (I set this up a while ago). This means that all links coming from the DotNetNuke Directory should point at


http://www.smart-thinker.com/Default.aspx?AffiliateId=21


I can then email the owner of the site I want to link to me with a request to use this URL instead of the plain URL they would normally use. If this were a Google Ad then I would past this URL into the “Destination URL” and set the “Display URL” to http://www.smart-thinker.com. In this particular example I can submit my site to the DotNetNuke Directory and use this URL as the website URL.


4) Test the link by viewing the Affiliate Report


I can now go to the DotNetNuke Directory and click on my Smart-Thinker site (assuming it is live and approved in the Directory). This will take me to the Smart-Thinker.com site, and you will notice the AffiliateID in the querystring of the browser address window (http://www.smart-thinker.com/Default.aspx?AffiliateId=21).


To validate that this counted as a hit against the DotNetNuke Directory Vendor, you can view your Affiliate reports using the core DNN Site Log functionality.


Click on Admin > Site Logs, and leave it as the Affiliate Referrals default in the dropdown list.


Select a start and stop date to view a list by Vendor (you need to match the “VendorID” to your Vendor’s ID in the Vendor List You should have at least 1 hit from your incoming visit:


21        1      20/06/2006     11:08:00  (VendorID,Hits,Date,Time)


Try this now and let me know if you get stuck.


Miscellaneous
I tried experimenting with the URL to determine when a hit is made – it seems as though you can add the AffiliateID parameter to any page and it will count as a hit. Even http://www.smart-thinker.com?AffiliateId=28 works.


I would like to be able to change the querystring parameter (maybe “AID” or something less conspicuous than “AffiliateID” but it works fine for now.


This is a handy way of measuring your incoming referrals and advertising campaign effectiveness. Also, the Site Log and Vendor functionality will probably be improved upon in the future, making this even more useful. It is a good idea when handing out links to your website to setup a Vendor and Affiliate link for each person.


Hopefully this will help at least one person manage their adverts and links more efficiently – please let me know if you have any questions or comments below (and if this was useful or not).

Copyright ©2006 Rodney Joyce

Tags:

Re: DotNetNuke Vendor Affiliate Reporting

Thanks for the walkthrough. Do you know if one can link user accounts with vendor accounts - for example, if I create a user type "advertiser", do I need a second vendor account to set up banner ads for this user?

By Seth on   8/3/2006

Re: DotNetNuke Vendor Affiliate Reporting

No, as far as I know this is not possible. A Vendor is a separate logical entitiy (although I would imagine in the database it would store the CreatedByUserID, but nothing more is done with this.

By rod on   8/3/2006
© 2008 Smart-Thinker   |  Privacy Statement  |  Terms Of Use