Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Bhagwant 4 posts 25 karma points
    Sep 29, 2013 @ 20:00
    Bhagwant
    0

    Member activity tracking

    Hi All,

    I am beginner in Umbraco CMS. I would like to know how can we track Website Members activities.

    E.g.

    1. What pages they have visited
    2. What was thier IP address
    3. What browser/device they had used to visit the website

     

    I know these features are available throgh google analytics, but due to some reason I can't use google analytics for the tracking.

    Is there any inbuilt feature available in Umbraco or do I need to add add-on.

     

  • Ismail Mayat 4511 posts 10092 karma points MVP 2x admin c-trib
    Sep 30, 2013 @ 10:16
    Ismail Mayat
    0

    Bhagwant,

    In v3 there used to be umbraco tracking package however since google analytics that product was shelved so now you use google or write your own. What is the reason for not using google?

    Regards

    Ismail

  • Bhagwant 4 posts 25 karma points
    Oct 04, 2013 @ 09:24
    Bhagwant
    0

    Thanks Ismail,

    I am using Umbraco V 6.1.0.

    There are two reasons for not using Google Analytics.

    1. Website is deployed on intranet, so It is private website

    2. Google Analytics will not provide user details, e.g. User A has views X, Y, Z pages

     

    I found the way to track user activity, I am writing my own code for track user activity.

     

    Thanks & Regards,

    Bhagwant

  • Kiel Diller 24 posts 72 karma points
    Nov 07, 2013 @ 20:38
    Kiel Diller
    0

    I second the request for being able to do this. Anyone know of a package to monitor member activity?

     

    Bhagwant, if I do not find anything I will end up having to build it for a client. I'll share my results if you are interested. Client wants to know, at minimum, who logged in each month, and how many times. They do not care about what pages, but I will probably add that in because it just makes sense to know.

     

    I've never created an official Umbraco package....this just might be my first attempt.

  • Bhagwant 4 posts 25 karma points
    Feb 25, 2014 @ 11:30
    Bhagwant
    0

    @Kiel did you find any solution or have you build anything for your client? As per my researchy we can add custom code in global.asax file and track requested urls

  • Kiel Diller 24 posts 72 karma points
    Feb 25, 2014 @ 14:19
    Kiel Diller
    0

    @Bhagwant I have not tried anything yet. I am finally getting to a point where I am between projects at work and can give this a shot. I'll keep you posted on any progress.

     

  • Bhagwant 4 posts 25 karma points
    Feb 26, 2014 @ 12:13
    Bhagwant
    1

    @Keil

    I have written this code in global.asax file and it is working. Now I can track user ID, page, refferel page, IP and other details.

    Let me know if you need any help.

    protected void Application_EndRequest(object sender, EventArgs e)
         {
    
             if(HttpContext.Current.User.Identity.IsAuthenticated)
             {
    
               umbraco.NodeFactory.Node current =  umbraco.NodeFactory.Node.GetCurrent();
               umbraco.cms.businesslogic.member.Member mem = umbraco.cms.businesslogic.member.Member.GetCurrentMember();
               System.Web.HttpBrowserCapabilities browser = Request.Browser;
    
    
                if(Conn.State==ConnectionState.Closed) 
                    Conn.Open();
    
                MySqlCommand Cmd = new MySqlCommand();
    
                String strQuery = "INSERT INTO c3_generic_umbraco_portal.c3_membertracking (VisitDate, UserID, UserName, PageTitle, PageURL, ReferrerURL, RemoteAddress, Browser, BrowserMajorVersion, BrowserMinorVersion, Platform, MobileDeviceModel, MobileDeviceManufacturer)";
    
                strQuery = strQuery + "VALUES ('" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "', '" + mem.Id + "', '" + mem.Text + "', '" + current.Name + "', '" + current.NiceUrl + "', '" + Request.UrlReferrer + "', '" + Request.ServerVariables["REMOTE_ADDR"] + "', '" + browser.Browser + "', '" + browser.MajorVersion + "', '" + browser. MinorVersionString + "', '" + browser.Platform + "', '" + browser.MobileDeviceModel + "', '" + browser.MobileDeviceManufacturer + "');";
    
                Cmd.Connection = Conn;
                Cmd.CommandText = strQuery;
                Cmd.CommandType = CommandType.Text;
                Cmd.ExecuteNonQuery();
    
               }
    
    
        }
  • Varun 1 post 21 karma points
    Apr 04, 2014 @ 08:14
    Varun
    0

    @Bhagwant- I also have a similar kind of requirement.

    a.    Where did User look in the site (timestamp, data, etc)
    b.    Which data did he downloaded (which PDFs, timestamp, data, etc)
    c.    What did he read or clicked (timestamp, duration, etc.)

    Is there something which can be worked out for downloads ? or do you have any inputs for me?

  • Kiel Diller 24 posts 72 karma points
    Apr 04, 2014 @ 23:29
    Kiel Diller
    1

    I'm part way through my version of this. I've implemented a way to log all requests from a logged in memeber (I'm ignoring non-authenticated requests for my application) and an admin section to view their activity. I have a lot of ideas on how I want this to work for me specifically. For now, here is my very basic beginnings...

     

    Page Views Summary: A total of page views, no user information. Shows you "popular" pages. Will eventually filter by date.
    Member Activity: From a drop-down, select your site member and pick a day, or all dates and view a list of page views in date-descending order. Eventually I will add some graphing to track user activity and make things much prettier.

    I've considered doing a daily-summary of activity as an email, I am working on a similar automated task at work so I figured I might as well roll it into this project as an option to turn on/off.

    Any suggestions? 

  • Paul 184 posts 646 karma points
    May 07, 2019 @ 10:26
    Paul
    0

    Did you ever get round to finishing this one Kiel ? It looks pretty close to something I need, just wondering if the code is on Git hub or similar?

  • Kiel Diller 24 posts 72 karma points
    May 07, 2019 @ 13:46
    Kiel Diller
    0

    So a few years, a few kids, and a few jobs later and still have not picked this up again. Since it looks like there is still a need for this, I think I'll try to find my old project and dust it off. Maybe I can salvage some bits of it and re-build it in current version. Don't hold your breath waiting, but if I come up with something I'll gladly share. I appreciate the interest, I actually did get part of this working, I wish now that I had stuck with it.

  • Paul 184 posts 646 karma points
    May 09, 2019 @ 14:21
    Paul
    0

    Thanks Kiel, that'd be good. If you share the code I'm sure a few of us would be happy to pitch in for the greater good :-)

  • Paul 184 posts 646 karma points
    Jul 17, 2019 @ 14:34
    Paul
    0

    Any news on this one Kiel?

  • Kiel Diller 24 posts 72 karma points
    Apr 04, 2014 @ 23:32
    Kiel Diller
    0

    @Varun

    I have thought about how to track the downloading of files. If you were strictly talking about .PDF's it would be pretty easy because you could create a PDF viewer page and add a query string so you'd see the file name in teh stats.

    if you're talking about word docs, .zip files or something that you can't "preview", I'm still thinking on that one. It would be very interesting to be able to know if a user has downloaded something or not. Consider a teacher giving assignments to students, if they have not downloaded the assignment you could be aware they are a slacker. I'm sure there are 1000 scenarios there.

    I'm going to continue to explore this one I think...

  • Aaron Lett 21 posts 72 karma points
    May 16, 2014 @ 18:46
    Aaron Lett
    0

    @Kiel

    Any further ideas on the file download tracking? (NOT .pdfs, but actual .ZIP and .EXE files? I just had a request come across my desk for a way to track these by Member, then export a list of users, email addys, and download dates of said users (to send notification emails to said users when a bug is found and they need to re-download the latest update/bug-fix).

  • Kiel Diller 24 posts 72 karma points
    May 16, 2014 @ 18:55
    Kiel Diller
    0

    Well...

    PDF's would be easy. I know you didn't ask, but just being thorough. You could have a PDF Viewer page dedicated to that PDF, and since it loads automatically, you would know that it at least popped up in front of them. Obviously you can't tell they read it just like I'm sure everyone always reads Terms of Agreements before clicking Agree. hah.

    Files....that's another story.

    If "I" am tracking every request....you could do a downloader page:  www.mysite.com/Downloader.aspx?file=[filename]

    that would show up in the member activity as a request for a page. you would just need to tweak the filename to be descriptive enough to tell you version etc.

    Would that suit your needs? I might test this in the project I'm working on, its shaping up quite nicely, just slow.

  • RJ89 6 posts 26 karma points
    Feb 19, 2015 @ 18:23
    RJ89
    0

    This sounds like an interesting project, Kiel, would be really useful for a site that we built.

    Few quick questions:

    1. Did you manage to get downloads of files working?

    2. Did you manage to get graphs/charts implemented? Was wondering if anything 'off the shelf' like Google Charts would be usable.

    3. Noticed you were working on Umbraco 6 - would this work on Umbraco 7?

    Many thanks

  • Kiel Diller 24 posts 72 karma points
    Feb 19, 2015 @ 19:35
    Kiel Diller
    0

    I need to pick this project back up. Let me see where I left off. I know I have some basic charting done and I had excluded a lot of directories for clean numbers and some other stuff. I am struggling finding good resources on how to REALLY integrate down deep into Umbraco to get a new section and all that. Let me pick it back up and get back with you. 

    I should also drop what I have for v6 and finish it in v7, good call.

  • RJ89 6 posts 26 karma points
    Feb 20, 2015 @ 10:18
    RJ89
    0

    Sounds good, Kiel : ) Thanks for the update.

    Does adding all of this information in the backend slow the site down at all? Just thinking for sites that are quite database intensive (lots of content segmentation by member group etc) would it increase any overheads?

  • Lars Nielsen 5 posts 85 karma points
    Nov 29, 2015 @ 14:19
    Lars Nielsen
    0

    Did this ever get further?

  • David Radick 4 posts 74 karma points
    Jan 15, 2016 @ 17:32
    David Radick
    0

    This is great information! I'm most curious about people downloading files as well.

    If the files are stored in the Media folder of Umbraco wouldn't your Application_EndRequest function be catching that request? What makes tracking the downloads so difficult?

    @RJ89 asked a good question as well. What effect does the SQL commands have on busy site? Maybe recording the data to a daily log or xml file of sorts would be lighter?

    Thanks again for the info shared so far!

  • Barry 7 posts 79 karma points
    Jun 19, 2017 @ 07:59
    Barry
    0

    Has anyone implemented something like this in V7? Do you have any tips?

  • Kerri Mallinson 113 posts 497 karma points
    Aug 03, 2017 @ 13:38
    Kerri Mallinson
    0

    Also interested to know if anyone has implemented something like this in V7?

    Cheers Kerri

  • Dean Wiseman 26 posts 115 karma points
    Oct 28, 2020 @ 13:51
    Dean Wiseman
    0

    This would be something I would be interested in as well. We are putting together a internal knowledgebase/ learning hub where we would like to be able to track usage of our students/employees (members) so as to capture metrics used to improve knowledge sharing and training. Has there been anything like this done recently? Ideally something that works with a current or more up to date version of Umbraco.

Please Sign in or register to post replies

Write your reply to:

Draft