Create and maintain a Solution Design Reference (SDR) Document
- Topics:
- Implementation Basics
CREATED FOR:
- Beginner
- Developer
The Solution Design Reference (SDR) document is the blueprint for business requirements and data collection design for Analytics on your digital properties. Learn how to create and maintain this document as the source of truth for your Analysis solution.
Transcript
Hey everybody, this is Doug. In this video I want to talk to you about building and maintaining an SDR, which is a Solution Design Reference document. You can all this whatever you want, it’s really a blueprint of your site and it follows the BRD, or the Business Requirements Document on the list of documentation that we should keep to really understand and be able to document and refer back to information on how our analytics is set up on our site. So here we have a document that is actually a combination of a BRD and SDR. Again, BRD being Business Requirements Document, SDR is a Solution Design. So if I talk about the BRD, I’m talking about actually defining what my business requirements are for tracking on my site. And when I talk about the SDR, I’m really talking about taking those requirements and making a blueprint of exactly which variables that data is going to go in, where we’re going to get the information from on our site, et cetera. So hopefully that gives a good distinction between the BRD and the SDR. Here we have a BRD, we have defined a few things here that we want to track on our site. This is for a very simple site. This would often be much larger for your site or it might not be, it depends on how many things you want to track and how many things you have on your site that you want to keep abreast of. So here is my simple little site, it is a GeoMetrixx Clothiers, it’s a little retail site. We can go in and we can buy some clothing, buy some jewelry, different things like that. Electronics, and we can also sign up for a credit card, we can sign up for newsletters, et cetera. But that’s just about the extent of it, we do have a search bar right up here as well which we’ll track. But you can see that it’s a pretty basic site. And so, as we have taken that and mapped that over to some of the things that we want to track, we have listed those again here on our BRD. And as I mentioned in our BRD video, you don’t have to use this document, you can use any document that you want. It’s just important that you write down your business requirements and then you write down how they’re going to be tracked and how you’re going to meet those requirements. So this is a nice document to use, it can be a little more extensive that you might need, but I will put a link to this and you can download this and take a look at it if you want to. But I’m going to take a look at this and start right at the top and try to list out some of these things. We’re going to start on this business requirements document because we do have a few fields to kind of give an overview I suppose of the SDR, and I’m not going to worry about filling out every single one, you don’t have to. But whatever I think I’ll need moving forward. I’m going to show you how to create this, but at the end of the day you need to maintain this document. Any new things you decide to track, any changes in your tracking all need to be here because if somebody comes in new, they’re going to need to know how everything is set up. So the first one’s pretty simple. We’re just going to track the pages on your site, and we can even put the reports populated here, it’s just going to be a pages report. This would typically maybe just hold the friendly name of the report or dimension that’s going to be populated by this. So are we going to use an eVar? Well normally we just would use the PageName prop, so we will put the PageName over here, PageName, and it’s kind of a pre-named traffic variable, and that’s why I’m putting it in this prop column, 'cause it’s a traffic variable. And I’m going to use an eVar as well, I do like to put the page name in an eVar, so I’m going to put this into eVar1.
Now I also do like to track a page view event. Out of the box you are going to get a page view metric, but I do like a page view event as well, because it’s pretty easy to use with some of the other reports like the eVar based reports. So I am going to also use an event, a custom event, and I’ll go ahead and use event1.
So that’s something that I like to do. I mean we can put the implementation status if we want, but it’s not implemented yet, I’m not going to worry about that right now. But again, if you are tracking that, it’s a good thing to have as you go along, and some of these things are implemented and you can keep track of what is and what is not yet implemented. Okay, now before I move to site sections, I want to also track potentially where we’re going to get this data from from our pages. And so for that I’m going to go over to the variable map here, and so for everything on the requirements we should have it here as well. Again here’s the page name, and it’s actually down here on line 225. You can see we have list variables and we have some of the items above that like the eVars and the events and such. So in any case, we just want to find where we are tracking that and write it down. The next section here, maybe I’ll type that in pages. And the next section is a tech spec section, so if you’re going to create a technical specification document for your developers so that you can follow along step by step, then that’s where this would go. I’m not going to talk about that right now, but again if you have that document and you like to fill it out, then this is a place where you can put the section of that. In fact, I’m going to just hide that column. So then you can talk about, they have listed here implementation scope and you’ve got the data element and the data source, et cetera. But I’m going to just put in here for an implementation scope, and you’ll see that I have a dropdown. I guess I should mention that there’s a config section here and you can put whatever you want here, and it kind of fills out the rest of the document and gives you some dropdowns and things. You don’t have to do this, seriously, you can just leave everything as a freeform text field. But this one that I grabbed here does have that. So as we go to the variable map, I do need to choose from the dropdown in this case for the implementation scope, and in this case we are going to use launch and we’re going to use a page load rule. And I do like the page load rule a little bit better than the extension configuration, and we’ll go through that when we get to launch videos, but right now we’re going to set the page name in a page load rule. We’re going to do it off of a data element called page name in launch, and that’s going to be pulled from a data layer, so we’ll go data layer and then if we want to see exactly where that’s going to be pulled from in the data layer, I can just jump back to my site, look at the source, and you’ll see here that there is a data layer setup right here. digitalData data layer, if I can say that. And we have a pageName, so under the digitalData, then we have page, then we have pageName.
So we can kind of just go like this and we can go digitalData.page.pageName, or however that is setup, as a capital N, capital N.
So that’s how we’ll set it up, and then you can decide what launch rule it’s going to be in our you can decide later, and come back and fill that out, et cetera. I’m not going to worry about that right now, but again, the main thing here is where am I pulling this pageName from? I want to know that here, how is it getting into that pageName variable? So we are going to use a data element in launch, which is basically a launch variable, we’ll go over that in the launch videos, but we’re going to pull it from the data layer on the page and put it into the pageName variable. If you don’t have a data layer, I would recommend considering creating one, or if you have other variables on the page where you have this information, then you can just of course use those or you can use the title tag or whatever you want to use you can see here. Whatever you want to use for that you can use of course, you just want to document that. That’s the first one, and I’m probably not going to go through every one of these, but let’s do a couple of more. So now we’ve got the page sections, so this is going to be in the site sections report, and I’m going to put this in an eVar as well, I like to put everything in an eVar. So I’m going to use eVar2, not going to use any event on that because that’s just going to be event1 again, so maybe I can even put event1 in parenthesis because it will track those pages of the site sections as well. And then I’m going to use the channel variable, okay this is also a pre-named traffic variable, so I’m going to use that channel variable and if we click back to our variable map, we’ll see that channel is right there and again, the channel variable turns into the site sections report so we can put site sections here. And then once again this is going to be on that same page load rule.
I’m going to call it out of a channel, data element, and this is going to be also in the data layer, in fact I can probably just copy that down and then change it, and you’ll see if I go back to my data layer that it’s going to be the site section of the data layer, so I’ll just copy that and I’ll put that here.
So maybe it makes sense actually to create the data element called site section.
Okay, and you can decide this as you go along and then lock that blueprint in and then go ahead and do the implementation after that. So this is where we’re getting it from, you’ll see that I didn’t have one on the home page 'cause it’s not really a section, I guess I could put a home section, but if I close that and I go to, for example, one of the pages in the women’s section and then look at the source, that has a siteSection there of women’s section. So again if I do digitalData page siteSection and grab that out of the data layer and put that into a data element, then that will be able to fill in my site section’s report. Okay, so let’s do a couple more of these.
Really not going to worry about this section anymore, this what is the name of the reports section. I’m just going to leave that for now but you can fill it out later. But I’m going to of course select which variables I’m going to use here, so for search I’m just going to use an eVar and we’ll just keep going up. We’re going to go eVar3 on search. And I am going to use an event, I’m going to use the event2, sure. It doesn’t really matter which number you use, just so long as you identify it in the blueprint. So this is going to be when there’s a search done, and the evar3 is going to be what they searched for, okay? So when they search I’m going to put the search term in here, so I’ll put track internal search term right there.
And so we have the search term, and we will have the counter of how many times they search. I don’t really need that in a prop, so I’m going to leave that alone, but we’ll go over to our variable map. Now I did put pages and cite sections in the props. What I didn’t do was put those in that eVar, 'cause I had said we’re going to do an eVar as well. So if I jump up to the eVars, and then we’re going to use here, we’re going to go to the data element again, this was the page name. And you can copy that stuff up, I’ll just do this, this was the site section and for eVar3, we’re going to use the search terms.
And I’ll just copy this, and over here it’s going to be the page name and the site section reports there and search terms. And I will be setting that in a page load rule as well. Now where I’m going to get that one is not actually out of a data layer, but if I jump back up to the site then you’ll see I have my search bar up here, when I search for something like coat.
I’ll say go, you’ll see that it’s right up here in the query string, so I can pull that out of the query string, the search term, and that’s what I’m going to say here. So I’m going to say this will be pulled out of the query string param Q, okay? So you’ll be documenting all of this, and I’m not going to do any more, you don’t need to watch probably any more of this video of me doing that, but I just want to point out where things are coming from. You’ll want to fill all these things in so that again this is page load rule, page load rule. And where are you getting the data? Where is it going? What variables is it going in? We’re going to want to set those events which I haven’t done either, so if I go all the way to the top, we decided the event1 was going to be a page view event. And if I remember right, the next event we were going to use was just that search. So let met double check, event2 for the search term. So yeah, we’ll just say search happened, right? So you’re going to want to fill those in and as you decide on how those requirements are going to be filled or fulfilled, then you’ll want to go over and set them in the variable map and again add how they are going to be pulled. And so you can see the ones that I had left here are the shopping cart ones. And so in that case we’ll just look at those pages and pull values out of the data layer again based on which product they’re looking at or putting in their cart or purchasing and we’ll have price there and everything. So a lot of data hopefully will come out of a data layer or out of other variables on your page and then you can set them into those things. Remember, the shopping cart has some additional pre-named variables, so you’re not going to use eVars for those very much as far as the variable for those things, you’re going to use the product variable. And that’s going to be for all three of those, like I said, I’ll fill this in for you. And then the events are pre-named as well where this is a prodView, this one is an scAdd for shopping cart add, and then the purchase is the purchase event. Okay, so those are the pre-named ones for retail. Everything else, like for example tracking credit card applications, we’re going to use in this one, event3 and event4 because we have a process. And I’ll just show you over here, go back to the home page, when you actually click to the page either by going company, Geo charge card or even just clicking here. It takes you to the beginning of this process at which point I’m going to set event3. Then if they continue and fill out their stuff, and click proceed to apply, then I’m going to trigger event4, so that I can have an event at the beginning and at the end of a process so that I can see the percentage of people that finished it from the people that started. Now one more thing, and that is that since this actually goes to a third party site, I’m going to actually track the click of this button instead of a page load. So on my page here if I go to my variable map for event4, I’ll look at how it’s going to be tracked, this is going to be tracked on the different other rule type here. And if I look at the data source, it’s going to be click on the proceed button on the credit card page. So make sure that you decide how you’re going to track this, how you’re going to know that they did the thing. In many cases you’re going to be able to know that they did the thing because a page came up. But when I click on this, if it goes to another site, I need to track the click before they leave the site. So anyway, those are some tips. Again with the SDR, highly recommend that you record everything about your implementation and it doesn’t have to be on this kind of a spreadsheet but it does need to be done. Good luck.
Download a sample Excel template to document requirements, variables usage and assignment, segments, and data collection design for your digital properties.
Watch the related video to learn how to create a business requirements document video.
More help on this topic
Analytics
- Analytics tutorials
- Introduction to Analytics
- What is analytics
- What Can Adobe Analytics Do For Me?
- How Adobe Analysis Workspace Can Change Your Business
- It’s More Than Data. It’s Customer Intelligence
- Adobe Sensei and Adobe Analytics
- Customer Use Case - ServiceNow
- Customer Use Case - Accent Group
- Customer Use Case - The Home Depot
- Summit 2019 Super Session - Travel and Hospitality
- Summit 2019 Super Session - Retail
- Summit 2019 Super Session - High Tech
- Strategy & thought leadership
- Transitioning from other platforms
- Analytics Basics
- Customizing the UI
- Getting Help
- Analysis Workspace
- Analysis Workspace Basics
- Analysis Workspace quick intro
- Analysis Workspace overview
- Navigate the new landing page
- Start your analysis with a pre-built report
- Building a Workspace project from scratch
- Create and manage custom templates in Analysis Workspace
- Understanding how data gets into your Analysis Workspace project
- Foundational metrics in Adobe Analytics
- Component management in Analysis Workspace
- Selecting a report suite in Analysis Workspace
- View Analysis Workspace performance metrics
- Create bot reports
- Tips and Tricks
- Navigating Workspace Projects
- Data Dictionary in Analysis Workspace
- Starting your first project
- Training tutorial template
- Use folders in Analysis Workspace
- Copy and insert panels and visualizations
- Create a table of contents
- Right-click for Workspace efficiency
- Keyboard shortcuts
- Annotations
- View density
- Use filters
- Use multi-select drop-down filters
- Real-time reports
- Using Panels
- Using Tables, Visualizations, and Panels in Analysis Workspace
- Quick Insights Panel in Analysis Workspace
- Using the Attribution IQ Panel
- Media Concurrent Viewers Panel in Analysis Workspace
- Media Playback Time Spent Panel
- Using Drop-down Filters
- Using Panels to Organize your Analysis Workspace Projects
- Choose segments for a panel
- Multiple Report Suites in Analysis Workspace
- Next/Previous and Page Summary Workspace Panels & Reports
- Understanding attribution panel and lookback windows
- Building Freeform Tables
- Understand your data–freeform tables
- Use the left rail to build freeform tables
- Easy drag and drop to blank projects
- Work with dimensions in a freeform table
- Work with metrics in a freeform table
- Row and column settings in freeform tables
- Freeform table totals
- Use the freeform table builder
- Right-click for workspace efficiency
- Reorder static rows
- Use Attribution IQ in freeform tables
- Cross-sell analysis
- Freeform table filters
- Time-parting dimensions
- Visualizations
- Visualization types and overview
- Visualization use cases
- Data visualization playbook
- Getting data into visualizations
- Using component drop-downs in Workspace
- Area and area stacked visualizations
- Bar and bar stacked visualizations
- Bullet graph visualization
- Donut visualization
- Histogram visualization
- Unlocking insights with histograms
- Line visualization
- Combo charts
- Adding trend lines to line visualizations
- Map visualization
- Summary number and summary change visualizations
- Key metric summary visualization
- Text visualization
- More than words - Using text visualizations and descriptions
- Scatterplot visualization
- Treemap visualization
- Venn diagram visualization
- Use the cumulative average function to apply metric smoothing
- Flexible layouts
- Changing the scale/axis on visualizations
- Dimension-graph live linking
- Set the granularity for visualizations
- Link inside or outside of your project
- Customize visualization legends
- 100% stacked visualizations
- Table and visualization data source settings
- Build a time-parting heatmap
- Analyzing Customer Journeys
- Applying Segments
- Apply segments to your Analysis Workspace project
- Apply ad hoc segments
- Use different Attribution IQ models with segments
- Choose segments for a panel
- Use segments as Dimensions in Analysis Workspace
- Use segments to limit data in Analysis Workspace
- Quick segments in Analysis Workspace
- Building Customer Journey Segments
- Building Customer Journey Segments - Part 2
- Metrics
- Dimensions
- Calendar and Date Ranges
- Curate and Share Projects
- Attribution IQ
- Using Cross-tab Analysis to Explore Basic Marketing Attribution
- Adding side-by-side comparisons of Attribution IQ Models
- Attribution IQ in Calculated Metrics
- Using Attribution IQ in Freeform Tables
- Using the Attribution IQ Panel
- Using different Attribution IQ models with segments
- Algorithmic Model in Attribution IQ
- Custom Look-back Windows in Attribution IQ
- Cohort Analysis
- Cohort Analysis in Analysis Workspace
- Understand your data–Cohort Tables
- Overview of Cohort Tables
- Cohort Table Settings
- Churn Analysis with Cohort Tables
- Cohort Analysis Using Any Dimension
- Latency Analysis with Cohort Tables
- Calculate Rolling Retention in Cohort Tables
- Use Cohort Analysis to Understand Customer Behavior
- Voice Analytics
- How to Manage and Track Your Voice Assistant App Data
- Understand Differences Across Voice-Enabled Devices
- Finding Opportunities To Increase Engagement for Voice Apps
- Reducing Error Rates and Improving Success Rates in Your Voice App
- Understand User Behavior on Voice Assistants
- Understanding the User’s Voice Journey
- Analysis Workspace Basics
- Administration
- Key Admin Skills
- Creating an empowered community
- Simplify and spend less time training users
- Getting the Right People on Your Analytics Team
- Gaining a seat at the table
- Telling impactful stories with data
- Translating Adobe Analytics technical language in a non-technical way
- Working cross-functionally
- Are you asking the right questions?
- Admin Tips and Best Practices
- Download the implementation playbook
- Audit your data dictionary
- Create standardized naming conventions
- Create standardized code templates
- Create basic videos and training
- Create an internal Adobe Analytics site
- Use a global report suite
- Create a news & announcements project
- Drive success with executive summary dashboards
- Create Operational Dashboards
- Company Settings
- User Management
- Manage Report Suites
- How to Configure General Account Settings
- Customize Calendar Settings
- Configure Paid Search Detection
- Set up marketing channels
- Create marketing channel processing rules
- Manipulating incoming data with Processing Rules
- Configuring Traffic Variables (props)
- Configure traffic classifications
- Configure hierarchy variables
- Configuring Variables in the Admin Console
- Configure conversion classifications
- Configuring List Variables
- Configure Finding Methods
- Set Internal URL Filters
- Configuring Zip and Postal Code Settings
- Enable the Timestamp Optional setting
- Configure bot rules in Analytics
- Data Governance and GDPR
- Traffic Management
- Logs
- Key Admin Skills
- Implementation
- Implementation Basics
- Experience Platform Tags
- Implement Experience Cloud solutions in websites using Tags
- Basic configuration of the Analytics extension
- Configure library management in the Analytics extension
- Configure general settings in the Analytics extension
- Configure global variable settings in the Analytics extension
- Use custom code in the Analytics extension
- Use a data layer to set variables
- Use doPlugins and implementation plug-ins
- Configure easy download link tracking
- Configure easy exit link tracking
- Prepare Tags for your Analytics implementation
- Create data elements for the Analytics implementation
- Create a global page load rule
- Validate the global page load rule
- Create rules for special pages
- Create rules for success events
- Publish Tags libraries to stage and production
- Using JavaScript
- Components
- Segmentation
- Segment builder overview
- Finding and creating segments
- Rolling date ranges in segments
- Segment comparison in Analysis Workspace
- Segment containers
- Segment management and sharing
- Applying segments in Analysis Workspace
- Using segments as dimensions
- Using segments to limit data
- Differences between the segment builder and quick segments
- Sequential segmentation
- Before/After sequences in sequential segmentation
- Segmentation on distinct dimension counts
- Dimension models in segmentation
- Use ‘equals any of’ in segmentation
- Analytics Insider Webinar - Customer Segmentation Strategies
- Now just wait a segment… Using segmentation to discover new insights
- Calculated Metrics
- Calculated metric builder overview
- Calculated metrics - implementation-less metrics
- Calculated metrics - segmented metrics
- Calculated metrics - functions
- Approximate count distinct function in calculated metrics
- Quick calculated metrics in Analysis Workspace
- Manage your calculated metrics
- Attribution IQ in calculated metrics
- Use dimensions in calculated metrics
- Take your data analysis to the next level with calculated metrics
- Classifications
- Virtual Report Suites
- Activity Map
- Segmentation
- Additional Tools
- Exporting
- From the UI
- Data Warehouse
- Data Feeds
- Report Builder
- Upgrade and reschedule workbooks
- Add Segments to Multiple Requests at Once in Report Builder
- Anomaly Detection in Report Builder
- Edit Metrics across Requests
- Using Report Builder to learn the Adobe Analytics API
- Get started with Report Builder
- Schedule a Report Builder request
- Use Report Builder advanced delivery options for Power BI
- Integrations
- Experience Cloud
- Audience Manager
- Target
- Adobe Advertising DSP
- Configuring Advertising Analytics
- Implementing tracking templates into search engines
- Introduction to the Adobe Advertising DSP integration
- Create a Pre-launch campaign analysis
- Report on Advertising DSP marketing channels
- Create Analytics site journey profiles
- Create Analytics segments for activation and reporting
- Create Advertising DSP alerts with Adobe Analytics
- Create Analytics custom metrics with Advertising DSP data
- Create Advertising DSP site entry reports
- Create Advertising DSP dashboards
- Ad Hoc Analytics
- Power BI
- Magento
- Data Science
- Vertical-Specific
- Media Analytics
- Mobile App Analytics
- APIs
- Analysis Use Cases