Sitecore Experience Analytics Reports
Marketing
Analytics Sitecore

Creating a Custom Report in Sitecore Experience Analytics

Jun 11, 2019

I was recently given the task of digging into Sitecore Experience Analytics. After spending some time working on it, I found myself needing to create my own report. The documentation outlines how to create a report from scratch, but I had a few challenges while following it. I hope that sharing my experience can help others trying to customize their Sitecore reporting.

You must use Visual Studio and Sitecore Rocks to create a new report, so that was my first stop. Installing the tool was fairly easy. Just a note: make sure you choose the "Hard Rock Web Service" as Data Provider while configuring your connection. The Good Old Web Service, although "good", only shows raw values (smile).

Sitecore Rocks Connection

Sitecore Rocks Connection

So, you have installed Sitecore Rocks and successfully connected to your site. That means you are ready to follow Sitecore's user guide to create a new report.

In my particular case, I intend to add a new report to the Dashboard to track offline interactions. This report will help me visualize how many visitors come to my website after receiving a postcard with a short URL to a Campaign landing page. In addition to the number of visits I would also like to view the value per visit, conversion rate, and bounce rate on the report. The end result should be a report very alike the online interactions report - but for offline.

Sitecore Experience Analytics Online interactions report

Sitecore Experience Analytics Dashboard Online interactions report

Since the report I wanted to create was very similar to an existing report, I decided to copy the existing one instead of creating it from scratch:

  1. Navigated to the existing report

    core/sitecore/client/Applications/ExperienceAnalytics/Dashboard/PageSettings/Online interactions

  2. Right clicked the Online interactions report and selected Duplicate.

menu options

3. Entered the name of my new report

name popup

After my previous steps, I had a duplicate of the online interactions report. Because I intend to get a pretty similar report (but to track offline instead of online), I don't need to modify any of the Metrics or the Segment on the report.

What I need to change in this case is the report key from online to offline.

Sitecore Experience Analytics Report Configuration

Sitecore Experience Analytics Report Configuration

To find my new key, I navigated to my Sitecore instance Marketing Control Panel and looked for channels taxonomy. I copied the Offline channel "Item ID", made it all lower case, and removed the dashes.

Offline channel item in marketing control panel taxonomy

Offline channel item in marketing control panel taxonomy

Back to Visual Studio to replace the key value and save my changes.

Next, I needed to figure out how to display the report on the dashboard, so I went back to Sitecore's user guide and followed the steps to Add a chart component to a report. Again, because the report I needed was very similar to the online interactions report, I used that one as reference. So instead of adding a new rendering from scratch, I just duplicated the OnlineInteractions one.

Sitecore Experience Analytics Item Options

Sitecore Experience Analytics Item Options

I saved my changes and went straight to Sitecore to check my Experience Analytics dashboard.

Sitecore Experience Analytics Dashboard with custom report

Sitecore Experience Analytics Dashboard with custom report

Good news! The report was there, but the presentation wasn't what I wanted; it was showing on the Online interactions section report. I couldn't find anything on the documentation about creating sections, so I had to figure it out by looking at the existing reports.

After a second look, I realized that there are RowPanel and ColumnPanel renderings on the reports layout controlling how the reports display.

Sitecore Experience Analytics Dashboard layout

Sitecore Experience Analytics Dashboard layout

So I added a section to hold my report:

  1. Added a RowPanel and a ColumnPanel rendering to the page.
  2. Set the number of columns on the ColumnPanel rendering to 12, since I wanted the report to use the screen full width (6 columns is 50%).
    Sitecore Experience Analytics Dashboard layout item properties
  3. Edited each rendering properties to select the desired PlaceholderKey by clicking the ellipsis.
    Sitecore Experience Analytics item placeholderkey
  4. Selected the desired placeholder for each item and hit OK:
    1. RowPanel 1: Main.Content
    2. ColumnPanel 1: RowPanel 1.Content
    3. OfflineInteractions: ColumnPanel 1. Content

    Placeholder selection window

  5. Saved all my changes and went back to Sitecore.

Finally, I was able to see my report the way I expected it to display.

Sitecore Experience Analytics Dashboard with custom report in separate section

Sitecore Experience Analytics Dashboard with custom report in separate section

Next, I'll be testing my report by hitting that short URL I mentioned at the beginning.