*Building a Marketing Dashboard in Excel

Marketing-DashboardThis article describes the steps I went through to build a working prototype; it is light on process and documentation because this is an educational article, not a technical how-to article. More

1 Welcome to Analytics Edge

Analytics Edge makes it easy to get your data into Microsoft Excel. You can place multiple queries anywhere in your workbook as this video explains. More

2 Help Resources Available

The Analytics Edge help site has plenty of resources available for learning and assistance with reporting. This video explains what is available and highlights the ‘account not found’ problem people experience when sharing workbooks. More

4 Creating Custom Reports

Analytics Edge was designed to create the customized reports people need for their website or campaign tracking needs. This video explains the common errors you may run across and what you can do about them. More

5 Licenses and Updates

This video explains how Analytics Edge products are licensed and updated. It demonstrates how to identify updates available and how to install them.  More

A Programmer’s Guide to Analytics Edge No-Code Macros

If you’ve written a few lines of script and aren’t afraid of words like “variables”, this guide will get you going quickly with Analytics Edge macros. Even if you’ve just played with a few Excel formulas, you might surprise yourself with how much you can do with Analytics Edge macros and how FAST it gets done! More

Account Reference Names

Analytics Edge takes account security very seriously. When you use the add-in or one of the connectors to access one of your accounts, the product will encrypt a security token and save it to your computer. You will be asked for an account reference name for this token. More

Active table in memory?

What is this green worksheet with the message “ANALYTICS EDGE – active table in memory…“? When you are editing a query or stepping through an Analytics Edge macro, a green worksheet (ᴁ Step Results) will appear. This temporary worksheet shows you what it is currently in memory — the results of the last function step — before you formally write it out to a worksheet.


Add Session Count To Google Analytics 4 Reports

It is easy to get a Session Count fields added to your Google Analytics 4 reports — just add a custom dimension for the existing event parameter! The data doesn’t start collecting until you do this, so do it now! More

Add-in: Call VBA From A Repeating Macro

Let’s say you have an Analytics Edge workbook that uses a Repeat Macro function to loop through several web properties, each writing to a separate worksheet. Since Analytics Edge doesn’t help you with worksheet formatting much, let’s say you whipped up a little VBA code to do it. How would you integrate that VBA code into the Analytics Edge macro? More

Add-in: Changing Dates in Multiple Queries

If you are build a report that includes multiple queries and you want to be able to change the dates of all the queries at once, there are a couple of ways you can get this done — with a little pre-planning, or a little hacking. More

Add-in: Hacking the Query Worksheet

The Analytics Edge Core Add-in allows you to place Quick Queries anywhere in your workbook, but all those queries can be edited in a single place: the ‘ᴁ Analytics Edge Queries’ worksheet. Caution is strongly recommended–make a backup of your workbook before you start! More

Adding Page Count To Google Analytics 4

There are a lot of things from Google Analytics (Universal Analytics) that I miss in Google Analytics 4. Although page engagement metrics are much improved, I was frustrated by the lack of any ability to gauge the Page Depth of my visitors. Do they look at 1 page, 3 pages, or 20?  The averages just don’t tell the whole story. Here is how I added a Page Count dimension and a couple of early observations I made with the data. More

Amazing SEO Reporting In Excel

With version 4.0 of the Analytics Edge Google Search connector, you can quickly create SEO analysis reports with tremendous insight potential; way beyond what you can do in Google Search Console itself! More

Analytics Without Programming

Avoid complex Excel formulas; Analytics Edge lets you build reports in Excel without complicated formulas or programming. Using a simple wizard interface, this small Excel add-in lets you combine, calculate, split, pivot, sort, filter and much more. Try it yourself and see how easy it is! More

Bulk URL Index Inspection Queries

if you manage a large number of Search Console accounts and sites, this workbook will help you cope 2 big hurdles: the 2000-URL per day limit, and aligning which account to use for each URL. More

Calculating a Weighted Average (Average of Averages)

A common reporting challenge in Excel is merging sets of data, such as combining monthly numbers for a quarterly or annual total. Adding up simple metrics is obvious, but what do you do with things like the average position or conversion rate? [Hint: you should not average or total anything that is already an average or ratio] More

Caution: Last Day of Data May Not Be Accurate

According to a tweet by John Mueller of Google (2017-06-23), the most recent day of data from the Google Search Analytics API may contain partial results, so you should plan to refresh that data the next time you run your report. More

Challenges with Annual Reporting

It’s that time of year again, time to summarize the performance of your website, search engine optimization efforts, and campaign spending. As you start your marathon of data manipulation, there are a few things you should keep in mind to avoid disaster. More

Constant Contact API Changes

The Analytics Edge Connector for Constant Contact now (2024-06-07) supports the latest (version 3) API from Constant Contact. Many things have changed between the older (version 2) API, and this document gives a brief overview of the differences between them, and how Analytics Edge has changed how used them.

Note that the Constant Contact connector is the first connector released by Analytics Edge (in 2014) and has undegone only minor changes over the years. The new release is a significant update in both the user interface as well as how the data is processed and presented.

Reference IDs and Data Structure Changes

Constant Contact uses different ID numbers in the new API to reference the various data elements (contacts, email campaigns, links, etc). They also structure the data differently; for example, a resend of a campaign in v2 was issued a new campaign ID, but in v3 the campaign is split into 2 campaign activities with a primary email and a resend activity.

The old connector exposed a lot of the inner workings and forced users to cross reference IDs between queries to piece together the information they wanted. The update does a lot of this work behind the scenes; for example, campaign reports actually trigger one API call to get the activities for a campaign, then multiple calls for each activity and additional queries for activity details if needed, merging the data into a single response.

Field Names and Order

The old connector exposed the raw field names from the API (e.g. first_name, last_name) while the update provides more presentable field names (e.g. First Name, Last Name).

The order of the fields between the various queries changed according to how the API delivered them, which tended to change depending on the data. This could cause problems in report formating, forcing additional steps to reorder the fields in a specific way. The update controls the field order and appearance in most cases.


The account authentication used by Constant Contact has changed with the new API, so the connector manages separate stored accounts for the v2 and v3 APIs. This means sepaarte Accounts wizards. The new login process uses Oauth, so the login process is a little different.

The old Accounts wizard allowed you to get information about a selected account or a list of available accounts — this extra functionality has been moved to a new Account Information wizard. This wizard allows you to select between using v2 or v3 accounts.


Constant Contact: Autoresponder Reporting

Constant Contact offers some simple reports on your autoresponder campaigns, but little detail is available. Even through the API, the data is difficult to extract, but it can be done. This article details how Analytics Edge makes it possible to monitor your email series to see who each message was sent to, which ones bounced, whether they were opened, and whether they clicked on a link.


Constant Contact: Click-Through Data

Downloading Constant Contact click-through data for multiple clients has never been easier than with Analytics Edge and the Constant Contact connector. This article describes the process in detail, so you can get the job done fast! More

Constant Contact: Email Cohort Analysis

This article explains how to build a cohort analysis report in Excel using the Analytics Edge Core Add-in with the Constant Contact connector. Cohort Analysis lets you see how one group of subscribers behaves differently from another. More

Constant Contact: Reporting Automation

branded-report-example (1)With Analytics Edge, your reporting gets a whole lot easier with single-click refreshes, and you don’t lose any of the flexibility that makes Microsoft Excel so popular for Constant Contact analytics reporting. Here’s an example of one engagement that went from idea to “This is AMAZING!!” in 24 hours. More

Creating an Excel Dashboard Widget

Creating a dashboard in Excel can be quite simple –it’s really just a matter of downloading the right data and some easy formatting techniques. Layout is your challenge, but even that can be overcome.

creating-a-dashboard-widget More

Custom MailChimp Multi-Campaign Reports

A flurry of interest in the Analytics Edge MailChimp connector over the past few weeks has made me realize that most of the email marketing automation examples I have posted have focused on the Constant Contact connector. More

Data Sampling Problems In Annual Reports

Google Analytics uses statistical sampling to improve responsiveness for large queries. There is nothing wrong with statistical sampling — it will usually produce numbers close to the actual, but not always. More

Error: 400 AuthorizationError CUSTOMER_NOT_ACTIVE

This Google AdWords API error occurs when you try to query an old account that has not been active in over 15 months. The API will not permit queries to inactive accounts. This usually occurs in agencies with long account lists, some of which are old and no longer used. More

Error: 401 authError Authorization

This Google Analytics API error indicates that the security token for the account you are using has failed. Normally the security tokens are auto-renewed, but if you changed the account password or otherwise changed your security settings, the renewal can also fail. More

Error: 503 There was a temporary error

This Google Analytics API error indicates that there was a problem processing your query request. This can occur if you make too many bad queries in a short period of time, or if you use use up your quota for the day. In some cases, it may indicate that the server was too busy to process your request (usually for a very large query).  More

Error: Account not found. Check Account wizard

This error usually occurs when you share workbooks with coworkers, or after a computer move or rebuild. Analytics Edge stores a reference to the account in the workbook, but the actual security tokens are stored on your computer.  More

Error: Invalid/missing dates

This error usually occurs when the cells you referenced in a query have moved or the contents are changed. Analytics Edge connectors offer the ability to use cell references for the dates, but the references can get out of alignment if you add rows or columns in the worksheet, or if you renamed the worksheet. More

Error: License issued to a different computer?

Analytics Edge is licensed by computer, so the add-in keeps track of the computer it is licensed for (even the free product is licensed). Sometimes a Windows Update or hardware change will mess up the license, and you will get an error saying “License issued to a different computer”. More

Exporting Universal Analytics Data

Analytics Edge has everything you need to export your Google Analytics/Universal Analytics data to Excel, Google Sheets or CSV files. This article shows how you can do it using the new Analytics Edge Desktop App, but a similar process can be followed with the Excel Add-in.


Facebook Ads Bidding and Budgets

The Facebook Ads bidding and budget information may seem to work in mysterious ways, especially when you are trying to generate a report from the API. Here is a picture of how it fits together. More

Get Impressions From Google Analytics

A lot of people want to include the Google Analytics clicks and impressions metrics in their reports, and are frustrated when they see most reporting tools do not offer those metrics. The reason is that they don’t actually come from Google Analytics — they come from Google Search Console, and that uses a separate API.


Google Analytics 4 Report Automation

Now that the Google Analytics Data API has been released, it is possible to automate your GA4 reporting. Analytics Edge makes the process easy with a powerful add-in for Microsoft Excel and the Google Analytics Pro connector.


Google Analytics: Custom Dynamic Segments

One of the features of the Google Analytics connector is the ability to create a custom dynamic segment, which is really useful when you are sharing workbooks with others. Custom segments in Google Analytics are stored as personal assets — they are associated with the login account, not the Google Analytics account. Because of that, using one of your custom segments in a query means other people cannot run your query; they will get an error when they try to refresh the query.  More

Google PageSpeed Insights API: No Connector Required

Google’s PageSpeed Insights API reports on the performance of a page on both mobile and desktop devices, and provides suggestions on how that page may be improved. The service works with a simple URL request and requires only a static API key for volume use. The Read Text/Web File function in the Analytics Edge Core Add-in lets you make these types of web queries — no need for a special connector.

Google Search: Annual Reporting

Long-term reporting with Google Search Console data is fraught with challenges. This article discusses some of the unique problems time can create, and how Analytics Edge products can save you time while solving them. More

Google Search: Branded Versus Non-Branded

The filtering capability in Google Search Console is very restrictive (single phrase match), making it useless for separating branded from non-branded search terms in all but the simplest cases. Enter the Analytics Edge Core Add-in — a quick regular expression filter and your work is done. More

Google Search: Download All Your Page And Query Data

Downloading your Google Search Console data into Excel is easy with Analytics Edge. The Google Search Connector uses the API to pull down all of the query and page metrics — without the 1000 or 5000 row limit imposed by the web interface. More

Google Search: Eliminating Noise

As discussed in a companion blog article, while trying to create an annual report for my own websites, I discovered that Google Search data is full of ‘noise’ — data that actually makes it harder to make useful observations about trends. This article includes the workbook I used.


Google Search: Get 16 Months Of Search Data

The Google Search API now supports a full 16 months of historical data, but the only date-related field is ‘date’, so this is how to get all that data out in a meaningful way — in weekly or monthly buckets. The Google Search Connector from Analytics Edge provides a MultiQuery tab that does just what you need, and your appears in Excel in seconds! More

How To Add Row Numbers

There are times you want to see row numbers in your results — a cumulative count column starting at 1 and increasing down the column. A combination of two Analytics Edge macro functions makes this possible. More

How To Build a Report Using Fiscal Weeks

Building queries based on calendar periods is pretty straight forward, but when challenged to build a report using fiscal periods, the Analytics Edge cell references can to be used to get any fiscal period you need. The magic is figuring out a series of Excel formulas (or just manually entering them) for the fiscal dates. More

How to Schedule Email Delivery of Reports

The Analytics Edge Core Add-in allows you to fully automate the refresh and delivery of report by email on a schedule of your choosing. It involves several steps:

  • setup your email server options
  • create the report you want to send
  • add a macro with a Save/Email PDF or Workbook command
  • schedule the report to run


How To: Email Campaign Domain Analysis

email-domain-analysisFind out how your email campaigns are performing with particular domains, so you can see which ISPs your subscribers use most often, and detect if you’re having delivery or compatibility problems. More

Incremental Report Updates

If your monthly report is regularly pulling down a full year’s worth of data, it is probably downloading 11 months of data that hasn’t changed. You can speed things up by doing an incremental update — just download the data you need. More

ISO Week Reporting

When a connector (API) does not offer the ability to make weekly reports based on international or ISO weeks (Monday to Sunday), you can use the Analytics Edge Core Add-in‘s Repeat Macro functionality to fill in the gap. More

Long-Tail Keyword Analysis (Advanced Example)

Long-tail keyword phrases are often made up of many different combinations of similar words, making it difficult to tell when there is a common topic of interest. This article walks through the creation of a keyword analysis report, based on weekly snippets of data from Google Search Console. More

MailChimp: Activity for the Latest Campaign

With the MailChimp Connector, Analytics Edge lets you automate more than just a data download – it lets you create a finished report that you can refresh with just a click. In this article, we’ll show how one click can get you a subscriber activity report for the most recent MailChimp campaign. More

Making a CTR versus Position Chart By Device

The Analytics Edge Core Add-in is perfect for doing a quick analysis of search engine ranking data. In this article, I show how to get a CTR versus Position chart by Devices — showing the difference for click-thorough-rate of desktop versus mobile. More

Manually Scheduling a Refresh

If you want to refresh a workbook more than once a day, or if you simply want to control the refreshes yourself, this article shows how the Analytics Edge Core Add-in and Standard Add-in interacts with the Windows Task Scheduler app. More

Misunderstood Metrics: Average Position

Google Search Console makes it easy to track the position of your website pages in Google’s search results, but the numbers are averages, and averages don’t tell the whole story. When it comes to search engine ranking, they can be really misleading. More

Misunderstood Metrics: Bounce Rate

What is the bounce rate in Google Analytics? Is it better to be higher or lower? What is typical? Does it affect my search engine rankings? Here is some insight into this frequently misunderstood metric. More

Misunderstood Metrics: Google Analytics 4 Sessions

As more and more people start the process of switching over to the new Google Analytics 4 for website tracking, they are discovering that the session counts are significantly different from the previous release of Google Analytics (a.k.a. Universal Analytics). My recommendation: stop focusing on sessions — focus on user engagement with your content instead.


Misunderstood Metrics: Google Analytics 4 Sessions for Pages

Since Google Analytics 4 is still under development, this is just an introductory article.

Google Analytics was plagued with custom reporting problems by mixing metrics and dimensions with different scopes  (e.g. sessions for pages). Well, even though Google Analytics 4 is very different, it shares the same problem: it has dimensions and metrics that are user-scoped, session-scoped, event(hit)-scoped, and item-scoped. More

Misunderstood Metrics: Sessions for Pages

Build a custom report to see how many Sessions included your top pages, and the result is confusing! Chances are you will see the number of Sessions drops sharply once you get below your primary landing pages. More

Multi-Source Waterfall Report

The wizard-based automation provided by the Analytics Edge Core Add-in for Excel makes it easy to combine data from multiple sources. This article explores how you can build a Waterfall Report that includes data from Google Webmaster Tools (now Google Search), Bing Webmaster Tools, Google Analytics and an external database. More

Optional Connectors

Analytics Edge has a variety of connectors available. They can be installed, updated and uninstalled using the License wizard. When you add a paid connector, it automatically starts a 30-day free trial period. More

P25 and P75 Aggregations

With the release of the Analytics Edge Core Add-in v10.0.6, the Combine, Duplicates, Lookup, Pivot, Subtotal and Total functions have new “P25” and “P75” aggregations options. More

Please reduce the amount of data you’re asking for

When the Facebook Ads API returns an error 500, it is usually telling you that the combination of the number of metrics and rows of data being asked for is too large for them to process all at once. You may hit the limit around 1000 rows, or it could be higher or lower depending on the number of columns you are asking for. More

Reading Sitemaps to Get a Full Listing of Pages

When analyzing website traffic, there are times you might want a full listing of the website’s pages…even those that never get any traffic or impressions. Google Analytics and Google Search Console will only report on pages were there is data, so these unrecognized pages continue to be overlooked. This article shows how the Analytics Edge Core Add-in can read the website’s sitemap files to extract a full listing of pages. More

Running Macros from VBA

With Analytics Edge Core Add-in, you can run an Analytics Edge macro (e.g. “MyMacro”) from Visual Basic for Applications (VBA), using code More

Running Queries from Buttons

With the Analytics Edge Core Add-in, it is now possible to run a specific Analytics Edge query from a button on your worksheet (the Analytics Edge Core Add-in must be installed). More

Selecting a Date Range

In most Analytics Edge wizards, you can select a data range for your query. There are a large number of combinations possible, but here are the most common selections. More

Sending Excel Reports To Clients

Many analysts, consultants and agencies use Excel to create reports for their clients because it allows them to deliver a unique solution, tailored to the client’s needs. By using Analytics Edge to generate and automate the report refresh, the monthly process becomes a lot easier and doesn’t require any changes to the client’s environment. More

Simplified Core Web Vitals Reporting

Google released new guidance on how to collect and report Core Web Vitals using Google Analytics 4, but the approach makes use of some pretty complicated concepts with BigQuery. In this article, I want to show you how to make similar reports in Excel using Analytics Edge with a lot less work and complexity. More

Story: Computers Should Automate Tedious Tasks

Do you find yourself becoming a slave to the computer? That is not how it is supposed to be. This is the first of a new series of articles where I share some of my life lessons; I hope you enjoy and benefit from them. More


The Analytics Edge Core Add-in uses some common Microsoft Excel terminology, but the meanings are slightly different. More

Using Append to Worksheet

The Analytics Edge Core Add-in allows you to append the results of a query to the existing data in a worksheet. While the function is simple, there are some scenarios where you can experience problems. This article describes the problems you could experience and the solutions. More