Google Sheets Bulk Component Manager for Adobe Analytics [Video]

Lukas Oldenburg
9 min readNov 7, 2020

Add or remove components from multiple Virtual Report Suites at once, changing (curated or default) names and descriptions of components, getting rid of components or workspaces that are used by nobody, replace components across all Workspaces — all in a simple Google Sheet and with a click of a button.

Note: The “Adobe Analytics Component Editor for Google Sheets” is now called “Adobe Analytics Component Manager for Google Sheets” (as you can now do much more than just bulk editing). It is also an official Datacroft product now.

Scroll all the way down if all you want to see is the Google Sheets Component Editor

Why you should probably use Virtual Report Suites

About three-and-a-years ago, Adobe Analytics introduced “Virtual Report Suites” (VRS). Especially if you are an organization that wants to onboard many end users to Analytics with as little friction as possible, Virtual Report Suites with enabled Component Curation are a must.

VRS’s are almost like Report Suites within a Report Suite. If you come from the Google world, a Report Suite is a bit like a GA property, and a VRS is remotely like a GA “View” in that property (but really only super-remotely). One advantage admin-wise is that you do not have to maintain the settings, variables, data source imports, classifications etc. for yet another Report Suite, because the VRS simply inherits all of them. There are however several limitations (including some that Adobe does not mention in their official documentation, e.g. that if you put an “Exclude Hit” Segment on top of a VRS and use Attribution iQ or Flow Reports, the excluded Hits come right back). But the discussion “separate Report Suite or VRS” would fill another article.

In any case, even if you choose to have a separate “full” Report Suite, you should have a VRS below it to make life easier for your end users.

You can create any number of VRS’s. Each VRS allows you to set default segments (e.g. “Exclude Co-Workers” or “Exclude Bots” or “Only this part of the website” or “Exclude falsely tracked Revenue”) so that normal users do not need to think of adding these segments to their reports. They don’t even see them. No unnecessary clutter. Nice.

With default segments, your users never have to think about adding segments like “Exclude Bots” or “False Transactions removed” segments to their reports. You can change these segments or their definition anytime (e.g. when a new Bot is detected), and every VRS user benefits from it without doing anything. Because they are “simply” segments in the background, changes also work for past data (unlike filters in GA Views).

You can even change the way a Visit is measured for a VRS (e.g. 2 hours instead of the default 30 minutes timeout), but beware that most components do not work anymore then — this part is still far from practical reality.

But the best part is Component Curation. If enabled, the Admin can decide which components should appear in the component rail on the left side of Analysis Workspace where users build reports). This way your users clearly see which components were “pre-selected” for them. The beauty is that they can still see all the other components, only Calc Metrics/Segments/Date Ranges!) below as “Non-Curated” — those are “at your own hazard”! So if an advanced user knows what she is doing, she can still mount the whole arsenal.

Unfortunately (as I only learned 2 years later under utmost pain), this does not apply to eVars, props or Success Events. Only Admins see those under the non-curated Comonents.

In Analysis Workspace, users see which components were “curated” for them in the current VRS.
You can drag components in and out of a a VRS and even rename them for just within this VRS.

This is huge, because one of the main advantages of Adobe Analytics is that it is so easy to create Calculated Metrics, Segments or Date Ranges on the fly. I still cry when I think of the 5 (ok, 50 for GA360) Calculated Metrics Google Analytics allows only Admins to create, and that these Metrics are then only valid within a single View, and that those are simply “divide x by y”-type Metrics, not segment-based Metrics, and and and…

But back to Adobe: The easy on-the-fly component creation can become a disadvantage because you soon end up with thousands of components — the client I work mostly with has amassed 2800 components in just 1 1/2 years (most of them are only privy to the users who created them, but still…)! Moreover, Adobe provides a lot of components out of the box which are either 99% legacy (“All Page Search Rank” anyone?) or only make sense in certain implementations (“App Users”), or they are plain garbage, like the default “Bounce Rate” Metric, because it does not know about “non-interaction Hits”— a great case for a VRS btw: You create your own “Bounce Rate” (with your own non-interaction logic) or simply use Single-Page Visits and call it “Bounce Rate”, and make sure the standard Bounce Rate Metric never comes close to your users! @Adobe: STOP showing this Bounce Rate in your demo workspaces! It makes no sense for 99% of websites!

So no wonder the main criticism from end users is usually that they feel overwhelmed by the mass of components:

“What should I use, and what means what?”

—> Component Curation to the rescue!

Component Curation is better and more end-user-friendly than any other admin feature that Adobe has ever released (e.g. tags, “approved” components, etc.). Users do not need to learn tagging conventions, nor do they need to know where to find the “approved” status and what that means. But more importantly, component curation is not a global “approved-or-not” dichotomy, it is relative to the context of the Virtual Report Suite: A Calculated Metric may be “working correctly” (“approved”), yet it makes sense only in the context of website A, but not B. So users of VRS A should find the Metric in A’s “curated components”, but not in B’s.

With this in mind, I tend to organize components according to three principles:

  1. Share all components that “work” and could be useful for anybody with “All Users” (so that people can use them if they know how to).
  2. Limit these shared components massively within each VRS via the aforementioned “Component Curation”. The guideline here is that only “report-ready” components should be part of the VRS (e.g. only the Calculated Metric for “Visits with Cart Views”, but not the underlying Segment “Cart View Hits”) — and of course, include only components that make sense in that VRS: If in doubt, leave out.
  3. Since all VRS components are still going to be a lot, I usually even add additional Workspace-specific component curation when e.g. a Template Workspace is done. It can be enabled in any Workspace under “Share” -> Curate Project Data”, and now your users see only the components under “Curated” that are actually used in this particular Workspace (you can add to them if you want them to see more).

Now the last part: Renaming Components for the VRS context. This is something that can be useful for several purposes:

  1. The default name of a component is not end-user friendly.
    Components are often worded very technically, e.g. they contain implementation-related terms like “Transaction ID (eVar78 - Merchandising)”. Your end users may instead understand “Order Number” better. And only yourself and some nerds will understand “Merchandising” or “eVar78”. But for the implementation dudes, it is important to know that this variable has to do with the Transaction ID variable, that it is merchandising-enabled, and that the eVar index is 78.
  2. You want to provide users a term in the company’s main language instead of English (which is usually the implementation language).
  3. You want to create components that mean different things in different VRS contexts, so you give them individual names. A typical case are suffixes like “(only on Redesign pages)” because the implementation for this component may still be incomplete within the scope of a VRS.

There is an inspiring presentation by Prof. Dr. Urs Boller and Dr. h. c. Jan Exner on “the minimalist approach to more insights”. It shows a perfect use case for Virtual Report Suites as a means to bringing Analytics to the masses:

BUT: No Bulk Editing of Virtual Report Suites = Admin Hell!

That being said, there is one thing that Adobe has neglected: It is awesome for the end user IF a VRS is curated nicely and shows her just exactly what she needs in the language she understands. But all this curation work needed to make this happen is NOT awesome, because lazy me has to do all this, and that is tedious in the rather slow Admin interface. Just adding a couple of new components to a couple of Virtual Report Suites is a concentration nightmare because I have to go into each Suite and do the same thing again (and once in the third VRS, I ask myself “did I really add this one also in the first VRS?”, and back to square 1). Boooring, time-consuming, and a strain on my brain…

Maintaining an overview over what is in which VRS and under which Curated Name is also impossible in the Admin interface.

In short: How can Adobe make it so easy to create new Virtual Report Suites and allow all this cool curation stuff without offering any kind of bulk editing and overview?

Adobe Analytics Component Editor for Google Sheets

So with this in mind, I thought I could try that thin ladder out of Admin hell as a motivation to finally learn how to do productive things with the Adobe Analytics API V2.0. That API, since this summer, officially supports Virtual Report Suite operations. The initial inspiration was a self-hacked Excel-based tool for global component editing by the aforementioned Professor/Hacker Boller. Senator Julien Piccini’s Python Wrapper for the API 2.0 plus Google Cloud (mostly Cloud Functions and PubSub, thanks @

for showing me around), Google Sheets and Google Apps Script helped as well.

The Adobe Analytics Component Editor for Google Sheets is still in an “alpha” state, but I thought I’d share it here to see if anyone is interested in this being developed further. Watch the video to see how it works:

Demo Video of the Adobe Analytics Bulk Component Editor for Google Sheets (sorry, I am not a video editor, I agree the quality should be improved).

What you can do with the Component Editor for Google Sheets

The Component Editor currently supports these functions:

  • Edit default name and description of multiple components at once
  • NEW: Filter components by how often and where they are used (see new article)
  • Add or remove multiple components from/to multiple Virtual Report Suites at once
  • Change the Curated Name for multiple components in multiple Virtual Report Suites at once
  • Delete many components at once
  • Pull in and view all components by VRS or a full list (all with the usual Google Sheets beauty, e.g. filter/sort/etc.)
  • Replace one or more components by another one (e.g. you want users to use Metric X instead of Y, so you can simply replace it automatically whereever it is used (Workspaces, Segments or Calculated Metrics).
  • Get an overview over all Workspaces by owner, modification date, number of actively scheduled jobs, etc. and delete workspaces in bulk
  • Changes to components are automatically saved in a change log tab.

It is so much easier to do Bulk Editing in an Excel or GoogleSheet where you can copy formulas, search all fields at once, filter by multiple criteria etc, compare multiple lists with some COUNTIF formula etc. Here are some tasks I have already done with it:

  • Quickly find all components that have “Transaction ID” in them and make sure their Curated Name and Description mentions “Order Number” as well (which is what I have found users looking for usually)
  • Remove 180 components at once from a VRS that originally was created as a copy of another VRS, but had no use there (because they were related to functionality that only exists within the original VRS
  • Make sure everything with “First Time” or “First-Time”, “New” (e.g. Visits/Orders/Revenue) is coherently named “First-Time xy”. Likewise with Cart Additions (which were sometimes called “Add to Carts”, “Cart Adds” etc.). Likewise, make sure components that have to do with Orders have “Orders” in their (Curated) Names and not sometimes “Purchases” or “Bestellungen” (the German term).

How can I get it?

The Component Manager can now be licensed. Note that it is not a simple GoogleSheets Add-On (the power it needs surpasses Google AppsScript, so most of the stuff in the background runs securely on a server). But I can set up your own version of the Component Manager within just a couple of minutes, then share that sheet with you, and you are ready to go. Just go to the official website and request a demo & free trial.

By the way, you can also create the list of components to be changed in Excel. Excel just does not support the automation yet (in that case you would export the list as a CSV and upload to a location x).



Lukas Oldenburg

Digital Analytics Expert. Owner of Creator of the Adobe Analytics Component Manager for Google Sheets: