Chapter 3. Improving Google Analytics for Journal Search and Link Resolver Tools

Journal search tools and link resolvers (OpenURL resolvers) are widely used online library tools that connect searchers to electronic content such as journal articles, e-books, and streaming media. Typically, these are considered two separate services: a journal search tool allows users to search or browse a library’s online journal collection, while a link resolver connects users to the full text of a specific item. Although they are two different tools, understanding how users interact with your library’s link resolver and journal search reveals how your users find full-text content and helps identify potential problems in the search process. It makes sense to add Google Analytics to track the usage of these tools. This chapter highlights how to install Google Analytics using Google Tag Manager (GTM) for journal search and link resolver tools and recommends useful Google Analytics features to enhance the data collection process.

Why Install Google Analytics?

Installing Google Analytics on a journal search tool is just as useful as tracking the use of any other search tool, such as the library catalog. You can see how users search and find journals. The advantage of adding Google Analytics to your link resolver may not be as obvious since some link resolvers automatically take users from a vendor database to the full-text source without ever seeing an intermediary link resolver web page. But your link resolver does more than just connect users to full text. If the link resolver fails to find a full-text option, it may send the user to a web page where the user can use alternative solutions to obtain full text. You can use Google Analytics to measure the effectiveness of your link resolver web page in connecting users to other full-text options.

Installing Google Tag Manager on Your Link Resolver or Journal Search

Adding the GTM container snippet depends on your journal search/link resolver platform. If you can edit the templates to customize the tool’s interface, you should be able to add the GTM container snippet. This chapter is too brief to discuss installing GTM on every platform, so I will demonstrate this process using ProQuest’s (Serials Solutions) 360 Link and E-Journal Portal (360 Core).

You must have administrative access to your library’s account in the Serials Solutions Client Center to add the GTM container snippet. Once you log in to the Client Center, go to the Administration Console for your 360 Link. For the original 360 Link, select the Branding Options under the 360 Link tab and add the GTM container snippet to the Header section. This Header section places the code right after the opening of the body tag (<body>), which is the ideal location for GTM installation.1 For libraries using Link 2.0, go to the Link 2.0 tab and select the Non-Sidebar Pages Branding Options, which controls the web page displayed when the link resolver fails to find full text or if your library uses the 360 Link results page. Currently, adding the GTM container snippet to the Non-Sidebar Pages Header box is the best option, but not perfect because it places the tracking code in a div tag (<div>) near the top of the web page. While it is not ideal, I have found this still works fairly well.

Serials Solutions Client Center

Adding the GTM container snippet to ProQuest’s E-Journal Portal is fairly easy—just go to the Administration Console under the 360 Core section in the Client Center. Select Branding Options and add the GTM container snippet to the Header box to add the code right after the opening body tag. Libraries using the E-Journal Portal 2.0 can either add the container snippet to the Header box under Branding Options or load it using an external JavaScript file.

Potential Events to Track Using Google Tag Manager

Event tracking allows you to collect data on user actions not automatically tracked by Google Analytics—think outbound links, forms, and script-based features on a website.2 Tracking clicks on outbound links is particularly important for journal search tools and link resolvers because their purpose is to connect the user with electronic content that libraries subscribe to through various content providers. These tools push users to click on outbound links to get full-text content. The previous chapter describes how to create a GTM outbound link event tag. You can follow those steps, but you may want to organize outbound links into different event categories to separate resource links (outbound links to electronic resource providers) from other outbound links to library services (help or interlibrary loan services). It depends on how you want to analyze your data. Each new event category will have its own GTM event tag.

Zero Results Search Event

While outbound links should be the first event you track on your journal search or link resolver, there are other useful events to track, such as searches that return zero results. Creating a zero results search event is extremely useful because Google Analytics reveals what users do when this issue occurs. Do they exit the site, or do they continue to search?

Tracking a “zero results” event is possible in GTM as long as you can identify when a search has zero results. Figure 3.1 shows a no results message from my library’s journal search. The only indicator that no results were found is within the web page’s text, which states: “0 records retrieved for the search” or “Sorry, this search returned no results.” In GTM, you will need to create an event tag that fires when that error message is displayed. This requires two tags: one to track the event, and the other to recognize the event occurred.3

First, you need to create a new custom variable that will read the text of the results web page as outlined in these steps:

  1. In your GTM container, go to the Variables section and select the New button under the User-Defined Variables.
  2. Select the DOM Element option. This allows GTM to search through the actual code on your site to identify specific content.
  3. Name the new variable, and remember it for later because you will use it again. I called mine ResultsPageText.
  4. For the Selection Method, choose ID.
  5. Enter the Element ID. This is the unique ID attribute used to identify where the error message text is located within the web page’s HTML code. In my example, the error message was found in a div tag with the ID attribute bodycopy (<div id=”bodycopy”>).
  6. Skip the Attribute Name and save the variable.

Next, create a Custom HTML tag to monitor for the event. Go to the Tags section in your GTM container and follow the steps below:

  1. Click the New Tag button and name the tag. I named mine No Search Results.
  2. Select the Show More option and choose the Custom HTML Tag. This is a versatile option that allows you to add any script to your GTM container.
  3. Next, you need to add a script that recognizes when the error message “Sorry, this search returned no results” appears on the page. Figure 3.2 shares the script I used that searches for the error message (a text string) in the Dom Element variable (ResultsPageText) that we just created. If the error message is found within the site’s text, the script pushes the event name (gaTriggerEvent) into the data layer for GTM to recognize and capture additional data points.4 The data layer is a powerful, advanced GTM feature, and for more details see Google’s Analytics Academy’s Google Tag Manager course.5
  4. Have this tag fire on All Pages and click Save.

The last step in the process of tracking a zero result search event is to create the event tag to record the event data! To do this:

  1. Click the New Tag button and name the tag. I named mine No Journal Results Event (figure 3.3).
  2. Select Universal Analytics and enter your Universal Analytics Tracking ID number.
  3. Select Event as Track Type and enter the desired event category, action, and label.
  4. For the Trigger, select the More button and choose Custom Event.
  5. Name the Custom Event Trigger.
  6. Add the event name you pushed into the data layer in your Custom HTML tag. I called mine gaTriggerEvent so I will use it again here.
  7. The trigger will be: Event equals gaTriggerEvent (or whatever event name you used) as shown in figure 3.4 on the following page.
  8. Save the new trigger.
  9. Save the new event tag.

Before you publish your changes to the GTM container, use the GTM Preview and Debug mode and Google Analytics Real-Time reports to test if your changes are working properly. Publish the container when you are ready.

Configuring GTM to track a zero results search event was a complicated process, but it pays off within twelve to twenty-four hours when that useful data is available in Google Analytics Events reports. The Top Events report will show the number of times users get the zero results error message, and the Events Flow report will reveal how often the no results page is the last page users see before exiting the site. I found that over half of my journal search users who see that no search results message leave the site after hitting that wall!

Enhancing Google Analytics Data for Your Journal Search or Link Resolver

So far all of our customizations were made in the GTM container, but there are still a few features, including site search and conversions, that you should enable in your Google Analytics account to provide you with even more useful data. You must be an administrator in your Google Analytics account to enable these features.

Google Analytics

Site Search

Site Search is a Google Analytics feature that tracks the use of a website’s search box and reports the number of searches, the search terms entered, and other search-related data from that site. By default, site search is disabled, but you can turn on Site Search Tracking found in the View Settings option in Google Analytics’ Admin area. Next, enter your site’s Query Parameter, which is the unique identifier your website uses to indicate a search. The easiest way to find your site’s Query Parameter is to do a quick search on your website and analyze the results web page’s URL. Using my library’s journal search tool, I did a quick search on the word biology, and here’s the results web page’s URL:

Notice that my search term (biology) in the URL? If I isolate that parameter segment, it looks like C=biology, so my site’s Query Parameter is C. Now any search terms in the C parameter will be collected and reported as search terms in my Site Search reports.

You can also turn on Site Search Categories to add category parameters that records when users use different search types or facets. My library’s journal search offers four search types: title begins with, title equals, title keyword, and an ISSN search. Each of these search types is different, and Google Analytics can report their usage if you provide the Category Parameter that identifies them. Again, you can find this unique parameter by doing a search on your website. Here are the two resulting web page URLs for a search on biology, but the first URL is a title begins with search and the second one is a title equals search:

They are nearly identical except in one area: S=AC_T_B versus S=AC_T_M. In this case, S is the Category Parameter, and the two other variables indicate the search types: title begins with (AC_T_B) and title equals (AC_T_M). You can add multiple Category Parameters if your journal search has more facets for users to refine their search. To identify those, use the various facets in a search and again analyze the results web page’s URLs to find what makes those searches unique and add those Category Parameters to the Site Search Tracking options.

After enabling Site Search, data will start to appear in the Site Search reports found under the Behavior section within twelve to twenty-four hours. Site Search reports provide great user data including the average number of search results’ pages viewed after a search and average time users spend exploring the results pages. It also provides search terms and search types (if you added Category Parameters). Using Site Search, I found that 20 percent of searches on my library’s journal search tool failed because the user entered a journal article title rather than the journal name. That is definitely a usability concern!


Conversions are those powerful metrics that measure the desired actions on a website and help measure the success of your website. Overall, the main purpose of a journal search or link resolver website is to connect users to electronic resources, so the primary conversion is a user clicking on an outbound link to an electronic resource. To create this conversion, go to the Goals section in Google Analytics’ Admin area and create a new goal. Since you should be tracking any outbound link as an event, you can create an event goal type and use the electronic resources outbound link event details (category, action, or label) to identify that specific outbound link. This example is demonstrated in figure 1.3 in chapter 1 of this issue of Library Technology Reports.

Another useful conversion is tracking if the user selects an alternative solution when the link resolver fails to find full text. In my library, the link resolver’s no results web page offers users an option to request the full text via interlibrary loan or search Google Scholar. Both of these options have the potential to assist the user in finding full text, which also accomplishes the site’s purpose. Since both the interlibrary loan and Google Scholar options are still outbound links, they are tracked as events using the same GTM event tag, but I use the GTM system variable {{Click Text}} for the event label, so the two options are easily distinguishable! To configure this event type goal, I used the event label to identify Google Scholar outbound link events in this conversion (figure 3.5).

After implementing, it takes twelve to twenty-four hours for conversion data to appear in Google Analytics Goal reports found under the Conversions section. For example, I can see that nearly 75 percent of my journal search sessions contain a click on an electronic resource outbound link, 6 percent use Google Scholar, and 4 percent use interlibrary loan. That accounts for nearly 85 percent of sessions, which indicates a high rate of search success.


Having Google Analytics track link resolver and journal search tools provides additional user search data so you can better understand how users interact with these tools. Taking the extra step to track essential events, enable site search, and configure conversions requires you to be more intentional about the data you want to collect, but overall gives you a robust data set to help your library better understand searcher behavior.


  1. “Quick Start Guide,” Google Tag Manager, accessed February 29, 2016,
  2. “About Events,” Google Analytics Help, accessed February 29, 2016,
  3. This method is based on Chris Berkley, “How to Track Site Searches with No Results Using Tag Manager,” DragonSearch blog, June 10, 2015,
  4. “Reference,” Google Tag Manager for Web Tracking, accessed March 17, 2016,
  5. “Google Tag Manager Fundamentals,” Google Analytics Academy, accessed February 29, 2016,
No results page, Journal Search, University of Colorado Colorado Springs

Figure 3.1

No results page, Journal Search, University of Colorado Colorado Springs

NoSearchResults custom HTML tag, Google Tag Manager, University of Colorado Colorado Springs

Figure 3.2

NoSearchResults custom HTML tag, Google Tag Manager, University of Colorado Colorado Springs

No journal results event tag, Google Tag Manager, University of Colorado Colorado Springs

Figure 3.3

No journal results event tag, Google Tag Manager, University of Colorado Colorado Springs

gaEventTrigger Trigger, Google Tag Manager, University of Colorado Colorado Springs

Figure 3.4

gaEventTrigger Trigger, Google Tag Manager, University of Colorado Colorado Springs

Google Scholar conversion configuration, Google Analytics, University of Colorado Colorado Springs

Figure 3.5

Google Scholar conversion configuration, Google Analytics, University of Colorado Colorado Springs


  • There are currently no refbacks.

Published by ALA TechSource, an imprint of the American Library Association.
Copyright Statement | ALA Privacy Policy