Opened 2 years ago

Closed 7 months ago

Last modified 7 months ago

#3089 closed New feature (fixed)

New "Visitor Profile" report showing all info about a specific Visitor

Reported by: matt Owned by: capedfuzz
Priority: critical Milestone: 2.0 - Piwik 2.0
Component: UI - UX (AngularJS, twig, less) Keywords:
Cc: Sensitive: no

Description (last modified by matt)

Piwik tracks detailed visitor information, and after a few months of use Piwik will contain interesting information about new and returning visitors. Currently, we display the list of visits in the Visitor>Visitor Log report, but there is no way to show a report for a specific visitor.

This ticket is about adding a new report specifically tailored to a visitor. THe report will show:

  • All visitor info
  • List of past visits and pageviews, downloads, outlinks, site searches, goal conversions, ecommerce conversions and product bought.
  • List the map showing where the user connected from
  • List the first/last visit information
  • List a summary of all visitor activity over time
  • Show a graph of the last visits

Also:


Change History (73)

comment:1 Changed 2 years ago by matt (mattab)

  • Milestone changed from 1.7.x - Piwik 1.7.2 to 1.x - Piwik 1.x

comment:2 Changed 19 months ago by matt (mattab)

moved to #3490

Last edited 9 months ago by matt (previous) (diff)

comment:3 Changed 17 months ago by matt (mattab)

  • Milestone changed from 1.x - Piwik 1.x to 1.9.x - Piwik 1.9.x
  • Priority changed from normal to critical
  • Summary changed from Make it easy to include a specific visitor information in website to New "Visitor Profile" report showing all info about a specific Visitor

comment:4 follow-up: Changed 17 months ago by matt (mattab)

  • Description modified (diff)

Good idea to propose a "Widget" showing a given visitor information:

  • Provide PHP code snippet to include the Visitor Log, segmented to a particular visitor ID
    • Code will look at cookies to extract visitor ID cookie
    • Fallback to user IP if ID not found
    • Would call Live API with segment=visitorId==X or segment=visitorIP==Y
  • maybe we should provide a new widget view for visitor Log for one visitor only: for example listing vertically rather than in a wide row (Visitor Log), so that it looks nice when included in emails or websites
  • Output options:
    • Display in the page: for example, in a CRM one could load visits from a particular IP and display the few info from Piwik there
    • Include in an email the visitor log output.

comment:5 Changed 17 months ago by peterb (peterbo)

  • Owner set to peterb

comment:6 Changed 16 months ago by matt (mattab)

See also a slightly related and interesting feature request: #2750

comment:7 Changed 16 months ago by matt (mattab)

A cool idea that will enhance this report automatically #3622 detect and set usernames as Custom Variables

comment:8 Changed 14 months ago by matt (mattab)

  • Milestone changed from 1.12.x - Piwik 1.12.x to 1.12 - Piwik 1.12

comment:9 Changed 13 months ago by matt (mattab)

  • Milestone changed from 1.12 - The Great 1.x Backlog to 2.x - Piwik 2.x

comment:10 in reply to: ↑ 4 ; follow-up: Changed 9 months ago by crmsystem

I'm insterested in this as well. We are building a CRM system and this would be a great feature to add.

Replying to matt:

Good idea to propose a "Widget" showing a given visitor information:

  • Provide PHP code snippet to include the Visitor Log, segmented to a particular visitor ID
    • Code will look at cookies to extract visitor ID cookie
    • Fallback to user IP if ID not found
    • Would call Live API with segment=visitorId==X or segment=visitorIP==Y
  • maybe we should provide a new widget view for visitor Log for one visitor only: for example listing vertically rather than in a wide row (Visitor Log), so that it looks nice when included in emails or websites
  • Output options:
    • Display in the page: for example, in a CRM system one could load visits from a particular IP and display the few info from Piwik there
    • Include in an email the visitor log output.

comment:11 in reply to: ↑ 10 Changed 9 months ago by crmsystem

Are there any way i can accelerate this feature getting done ?

Regards.
CRM systemet

I'm insterested in this as well. We are building a CRM system and this would be a great feature to add.

Replying to matt:

Good idea to propose a "Widget" showing a given visitor information:

  • Provide PHP code snippet to include the Visitor Log, segmented to a particular visitor ID
    • Code will look at cookies to extract visitor ID cookie
    • Fallback to user IP if ID not found
    • Would call Live API with segment=visitorId==X or segment=visitorIP==Y
  • maybe we should provide a new widget view for visitor Log for one visitor only: for example listing vertically rather than in a wide row (Visitor Log), so that it looks nice when included in emails or websites
  • Output options:
    • Display in the page: for example, in a CRM system one could load visits from a particular IP and display the few info from Piwik there
    • Include in an email the visitor log output.
Last edited 9 months ago by matt (previous) (diff)

comment:13 Changed 9 months ago by matt (mattab)

  • Display Visitor ID in the report (from #4020)

comment:14 Changed 9 months ago by matt (mattab)

  • Milestone changed from 2.x - Piwik 2.x to 2.0 - Piwik 2.0
  • Owner changed from peterb to capedfuzz

comment:15 Changed 9 months ago by capedfuzz (diosmosis)

In a3bc6979a99444f29da1aa7973338e3dcd72d309:

Refs #3089, add initial visitor profile popup that uses dynamic data from Live plugin API. No client-side behavior yet & placeholder images still present.

comment:16 Changed 9 months ago by capedfuzz (diosmosis)

In 050fd0ae52c9d245e9b3089d6b01662ce77aed0a:

Refs #3089, initial visitor profile integration with UserCountryMap..

comment:17 Changed 9 months ago by capedfuzz (diosmosis)

In b89b9bb907cceffee771b28ea63fec5273de3b88:

Refs #3089, use proper loading text for visitor profile, tweak look, and add behavior for close button.

comment:18 Changed 9 months ago by capedfuzz (diosmosis)

In d42f2f2abcb40db34013c5bf2218626d75261ba9:

Refs #3089, fix namespace bug in PluginsArchiver.php, i18n & tweak visitor profile popup, and only display ecommerce info on visitor profile if ecommerce is enabled for the site.

comment:19 Changed 9 months ago by capedfuzz (diosmosis)

In 4e582bc8a6ed42a942a28623d09480e491dbfc0b:

Refs #3089, rewrote visitor profile html to organize data as rows w/ columns instead of columns w/ rows, removed unneeded map JPG, modified visitor profile LESS files to use constants for width/height, and removed footer of embedded user country map in visitor profile.

comment:20 Changed 9 months ago by capedfuzz (diosmosis)

In 8d7b7dc59715ab817cd53def8260f32df298a996:

Refs #3089, allow more than 4 custom variables to show in visitor profile via expanding div.

comment:21 Changed 9 months ago by capedfuzz (diosmosis)

In 3b74ae5cdac37e16315c3a24ecf2591f742ca3c7:

Refs #3089, add initial code for visit header clicking behavior.

comment:22 Changed 9 months ago by capedfuzz (diosmosis)

In 70a0174744cfb16694a1a0d73ebeb6550685e6aa:

Refs #3089, rewrite _actionsList.twig to use <p> elements instead of line breaks (for better looking visitor profile).

comment:23 Changed 9 months ago by capedfuzz (diosmosis)

In 954c66c87034e6cc22ad8319a63a9f1f087f1520:

Refs #3089, add click on individual visit behavior in visitor profile, make sure footer of usercountry map is not shown at all.

comment:24 Changed 9 months ago by capedfuzz (diosmosis)

In 93e2098318669cbcfad468e2aa94f56f03952531:

Refs #3089, added behavior for click on 'view more information' that loads more visits into the visit list.

Notes:

  • Fixed bug in reinitialise() of jquery.jscrollpane.js.

comment:25 Changed 9 months ago by capedfuzz (diosmosis)

In a8439b11e5ba0e4cc85881158e2285d394c77712:

Refs #3089, make minimum top of popover 15px instead of 106px.

comment:26 Changed 9 months ago by capedfuzz (diosmosis)

In 7f71441d4a789014be654fa54d62cf98cd9ddb75:

Refs #3089, use realtime map instead of usercountry map so as not to engage potentially slow segmentation.

comment:27 Changed 9 months ago by capedfuzz (diosmosis)

In 685e8680418afd1d1de63197a4f3f30670429d9b:

Refs #3089, remove some debugging code, fix warnings on PHP 5.5.

comment:28 Changed 8 months ago by matt (mattab)

We discussed with the team and here is the full review:

  • Popover should have height set to auto. This way there is no need for the mini scroll bar in the popover. Remove the mini scrollbar.
  • Show location below user settings instead of top right
  • Move the left "Summary" above the "First/Last page" panel.
  • Hide the map by default
  • Add a link "Show map" that expands the popover to show the map below on left. Display link after Summary/First/Last panels.
  • Highlight the visit that is currently displayed on the top left
  • implement the 30-bars mini graph at top right: it will be awesome
  • in click on a bar graph, highlight the visit in the list + refresh details on the left.
  • New keyboard shortcuts: LEFT goes to "See more recent visitor" and RIGHT to "Next older visitor"
  • view more link: remove this link
  • Create new button, on the bottom of right column footer "Load more visits". When clicked, new visits are loaded and the popover automatically expands (height:auto). When there is no more visit to show write in light font eg. "All visits are already displayed for this visitor."

comment:29 Changed 8 months ago by capedfuzz (diosmosis)

In 781a359104d704b98070096250f8a6d2d3ed7b22:

Refs #3089, refactor visitor profile JavaScript & move it to new JavaScript file.

comment:30 Changed 8 months ago by capedfuzz (diosmosis)

In eb00e8722bda06313d2c47719fe33865bd4a76e9:

Refs #3089, reordered left side of visitor profile.

comment:31 Changed 8 months ago by capedfuzz (diosmosis)

In 29b4cf8b7c712dc9bacd105043cb1fc5dff0db09:

Refs #3089, make sure visitor profile can be opened via popover, document popover persisting functions in broadcast object and hide 'There is no data' message in embedded real time map in the visitor profile popup.

comment:32 Changed 8 months ago by capedfuzz (diosmosis)

In fa88a9c473dc53da8af6db9f0ae8bfe6f91d3ebc:

Refs #3089, allow visitor profile to be used as widget, remove period/date requirement for getting visitor profile data, fix bug in realtime map embedding and fix twig bug in visitor log tooltip.

comment:33 Changed 8 months ago by capedfuzz (diosmosis)

In 27e0da51a0e29ec97cee59457ff25edaac7eeff6:

Refs #3089, added ability to browse through all visitors w/ 'previous/next visitor' links or by hitting the left/right keys and fix widget css issue.

Notes:

  • Added ability to reload widget w/ overridden parameters that are not persisted.

comment:34 Changed 8 months ago by Fabian Becker

In f172c29e44463ab85bf13a142352795a8f99f5f5:

Fix test for new Live Widget

refs #3089

comment:35 Changed 8 months ago by capedfuzz (diosmosis)

Thanks Fabian! Forgot to push that fix.

comment:36 Changed 8 months ago by capedfuzz (diosmosis)

In f863905014fb5bcbe22842fa0e24b7efefd50eef:

Refs #3089, hide map on default and display w/ 'show map' link, remove jscrollpane and move location + bar graph to the left column.

comment:37 Changed 8 months ago by capedfuzz (diosmosis)

In e32f417391d2d9ffda4622e4906570c6e4bc451d:

Refs #3089, added countries & continents to Live.getVisitorProfile output in preparation for initially zooming realtime map.

comment:38 Changed 8 months ago by capedfuzz (diosmosis)

In 0e5d1ad2fecef5c83159b781d706cf33bfd6d440:

Refs #3089, add integration test files for new Live API methods.

comment:40 Changed 8 months ago by capedfuzz (diosmosis)

In 0f0b3273bbc8154d0b28d1de865e741b92083bac:

Refs #3089, show 'no more visits' when no more visits to load in visitor profile and force scroll to new visits when loading more visits.

comment:41 Changed 8 months ago by capedfuzz (diosmosis)

In ed93c9622d96eb46fabdd7238a14cd06bbe859f4:

Refs #3089, several small changes and tweaks to the visitor profile popup.

comment:42 Changed 8 months ago by capedfuzz (diosmosis)

In 92a10bec0ddfe6931d294a3cb3a2b7bb496ab0f1:

Refs #3089, show previous/next visitor links as arrows that appear only on hover of the upper left section in the visitor profile.

comment:43 Changed 8 months ago by capedfuzz (diosmosis)

In 6881a1b344c83aaa95ceeb0fd1a99d79e3b65780:

Refs #3089, fix a bug in visitor profile (left/right keys didn't change visitor on firefox) and highlight latest visit section after loading individual visit details.

comment:44 Changed 8 months ago by capedfuzz (diosmosis)

In 046502f876999afcc5e46e80c6698f0d6409881a:

Refs #3089, display 'There are no more visits' if its known there are no more visits to display in the visitor profile.

comment:45 Changed 8 months ago by capedfuzz (diosmosis)

In 1fe27677578867f04989be391059e505b3afc651:

Refs #3089, fix double encoded segment bug in visitor profile & UserCountryMap & make sure segment override is used by UserCountryMap.

comment:46 Changed 8 months ago by capedfuzz (diosmosis)

In ee2d113e2caa1ee1a3023c5a0db9044d011f2830:

Refs #3089, add tooltip to 'Visit #N' title and tweak highlight timing.

comment:47 Changed 8 months ago by capedfuzz (diosmosis)

In 864ae9db5ba22b6c9162fec29bda38e17e98736f:

Refs #3089, use rarr/larr instead of right/left arrow images in visitor profile.

comment:48 Changed 8 months ago by capedfuzz (diosmosis)

In 7ea067760f53e0069830469a688fdde32ec67a00:

Refs #3089, show location of visit when visit clicked in visitor profile.

comment:49 Changed 8 months ago by capedfuzz (diosmosis)

In ef9a06814e8d6728aa204b0ab812a96b80b380bd:

Refs #3089, allow visitor avatar image to be set based on visitor profile data, and add event that plugins can use to augment visitor profile data.

comment:50 Changed 8 months ago by capedfuzz (diosmosis)

In c3190b148d0704d3399b1b8f24dc05dc3bab2903:

Refs #3089, show abandoned cart info in visitor profile if present.

comment:52 Changed 8 months ago by capedfuzz (diosmosis)

In 569e71c63311d00273197f1e05c685904aa8c6c9:

Refs #3089, small fix (remove testing related code). [ci skip]

comment:53 Changed 7 months ago by capedfuzz (diosmosis)

In 94eff35d47c5be86d88b51e933bec3fb8ee450cd:

Refs #3089, tweaks and fixes to visitor profile interface and make sure adjacent visitor retrieval works w/ segments.

comment:54 Changed 7 months ago by capedfuzz (diosmosis)

In 6d884e19f5d870c8c0647ec2bac68fa546115578:

Refs #3089, #4116, display visitor profile popup when visit in realtime map is clicked.

Notes:

  • Includes new UIControl base type.
  • Fixes cleanup bugs in realtime map and popover closing.
  • Refactored realtime map so as little JavaScript as possible is included in HTML fragments.
  • Allow more than one realtime map to exist on a single page.

comment:55 Changed 7 months ago by capedfuzz (diosmosis)

In d6f94510ca16b4f6b06d5113c97fa206f704b489:

Refs #3089, only show map in visitor profile if map is not showing on another part of the screen, load the map through AJAX, and some tweaks to code style.

comment:56 Changed 7 months ago by capedfuzz (diosmosis)

In d989c794c832d40a66f7a56e6e0607a20e4a7af5:

Refs #3089, tweaks to getVisitorProfile API output. Includes change that allows xml renderers to use special keys when rendering arrays.

comment:57 Changed 7 months ago by capedfuzz (diosmosis)

In 9cd4cd3dd0a68e43fc9e6b9a9826c9a09fde5114:

Refs #3089, show visitor profile on 'returning visitor' icon click in real time visits widget, fix bug regarding visitorId API parameter, show correct tooltip for 'returning visitor' icon.

comment:58 Changed 7 months ago by capedfuzz (diosmosis)

In de2d6e0b9a1323301f8e7f58f7e965130299fd43:

Refs #3089, display 'visitor profile' text in popup loading message when loading visitor profile.

comment:59 Changed 7 months ago by capedfuzz (diosmosis)

In 4ef16c94c0e958d2b7ca0eb1fb8bcb00949ca270:

Refs #3089, hack into realtime map a bit to make it extensible enough for visitor profile use cases.

Notes:

  • Added realtimeWindow & removeOldVisits query parameters so amount of data displayed can be changed.
  • Added changeVisitAlpha query parameter so opacity does not have to be changed if desired.
  • More missing cleanup added for realtime map.
  • Only show map if there are visits that will display on it.
  • Removed some dead code from realtime map.

comment:61 Changed 7 months ago by capedfuzz (diosmosis)

In aca4c43a782926d09cb404556a9dcd342ea24985:

Refs #3089, bug fixes and tweaks to appearance.

comment:62 Changed 7 months ago by capedfuzz (diosmosis)

  • Resolution set to fixed
  • Status changed from new to closed

In 9369f5a44705a79a4488b1c6fbd6834dad0631c1:

Fixes #3089, finishing touches to UI and code.

Notes:

  • Added new visitId segment to get rid of getSingleVisitSummary API method.
  • Link to widgetized visitor profile in popup.
  • Added export link to visitor profile for visitor profile data.
  • Use CSS truncation instead of twig truncation in visitor log/last visits widget.

comment:63 Changed 7 months ago by capedfuzz (diosmosis)

In 323956875dffd6b04ab172fa70f90320fb2a0884:

Refs #3089, do not refresh visits in embedded realtime map in visitor profile..

comment:64 Changed 7 months ago by capedfuzz (diosmosis)

In 49b4d0fa9b345806b977b478ad78977f4d21b35c:

Refs #3089, show site search and avg. page load time info in visitor profile.

comment:65 Changed 7 months ago by capedfuzz (diosmosis)

In 59e7280e088150da6e6551c30bdf2097cb3d2ed8:

Refs #3089, show provider on hover of IP address, show browser plugin info on hover of browser and fix bug in realtime map URL used in visitor profile.

comment:66 Changed 7 months ago by capedfuzz (diosmosis)

In 97bd07ba046e5131c7ec8eb4c93cecdf217d3237:

Refs #3089, display visitor profile launch link only on hover and in upper right column of row.

comment:67 Changed 7 months ago by capedfuzz (diosmosis)

In c0f2eb2d7e74ba114a6b8ccf69823c98da5ebe88:

Refs #3089, show visitor profile launch link on hover of entire row instead of just last cell.

comment:68 Changed 7 months ago by capedfuzz (diosmosis)

In 1664a6dd0d3ae037029948af7013ae701ed34e7d:

Refs #3089, fixing regressions in visitor profile.

comment:69 Changed 7 months ago by capedfuzz (diosmosis)

In 3f622e8f26895a8983fcebeb8d1a70852df75624:

Refs #3089, fixing regression in visitor profile template.

comment:70 Changed 7 months ago by capedfuzz (diosmosis)

In 94fd68f5d6b30a1ed36448432db5e0335a695ff3:

Refs #3089, fixing more bugs in visitor profile.

comment:71 Changed 7 months ago by capedfuzz (diosmosis)

In 31f518a5d6d07cdc809e93ba5b837549bdc57821:

Refs #3089, several visitor profile tweaks.

comment:72 Changed 7 months ago by capedfuzz (diosmosis)

In 4bc5cb7b44c7d0aa9536970064bd4404a1b57d3d:

Refs #3089, fix realtime map url regression in visitor profile and fix build.

comment:73 Changed 7 months ago by capedfuzz (diosmosis)

In e2de34fbfb3b6ae25412122e4dc620edddeb0ff3:

Refs #3089, sort site search keywords in reverse order in visitor profile.

Note: See TracTickets for help on using tickets.