Meet the Team: Josh Darby, Senior Developer

Josh joined the INN Labs team in April 2019. He previously held senior developer positions at The Penny Hoarder and at web development agencies. Josh has worked on high-traffic projects for nonprofits, universities, and companies such as Disney, FOX, and Cisco.

He's already helped launch client projects, has contributed to Largo and INN plugins, and is now rolling out new automations and process improvements for our development work. Outside of work, Josh is passionate about boating, just like Miranda!

More from Josh, in his own words:

Where are you from?

St. Petersburg, Florida

How long have you been at INN?

I'm brand new!

What's your title and what's your role?

Senior Developer. I will be helping develop solutions for our own in-house INN Labs products and also providing services to our partners.

What's your favorite part of what you do?

Solving problems and helping clients find solutions to their problems.

Where do you like to get your news?

NPR, WaPo, Tampa Bay Times

Who or what inspires you? Why?

People who dedicate their lives trying to improve the lives of others.

What are your hobbies outside of work?

Cooking, boating, fishing, and tinkering with anything my wife won't get mad about me breaking.

What's your favorite part of working remotely?

Getting to hang out with my dogs all day.

Most interesting place you've worked remotely?

I once worked while on a monorail at Disney World.

Favorite kind of pie?

Key lime.

What cartoon character would you be?

Spongebob. I'm always happy and love to work.

If you could have a superpower, what would it be?

Could not having to sleep be a super power? I could get so much accomplished!

Are you a dog or cat person?

I have both, so I can't choose a favorite!

Favorite book and album?

Album: One Particular Harbor - Jimmy Buffett
Book: The Outsiders by S.E. Hinton

Favorite place you've traveled to? Why?

Either Reykjavik or Oslo. I'm fascinated by Nordic countries and Viking history.

Most recently used gif:

What accomplishment are you most proud of?

I once helped a nonprofit foundation build out a donation box on their website, which in turn accepted almost $10,000 in donations within a week for a local charity.

Meet the Team: Miranda Krapf, Project Manager

Miranda joined the INN Labs team in March 2019. She previously worked as a project manager and business analyst at the University of Minnesota. She's already diving into client projects and has impressed us all with her great communication and organizational skills. Lucky for us, right as she came on board we got to meet in person at INN's recent staff meeting in LA – a big plus for a fully remote team! Outside of work, Miranda is passionate about sailing and live music.

More from Miranda, in her own words:

Where are you from?

Originally Wisconsin, now in Minneapolis, Minnesota.

How long have you been at INN?

I'm brand new!

What's your favorite part of what you do?

I have a passion for non-profits, and I think the work that INN does (along with all of our members) is incredibly important right now.

Where do you like to get your news?

NPR, BBC, Star Tribune, MinnPost, ArsTechnica, and many other sources.

Who or what inspires you? Why?

Teams that make a difference, and also anything else that brings kindness and positivity to our world today. :)

What are your hobbies outside of work?

Sailing, cooking, urban chicken-keeping, and of course live music!

What's your favorite part of working remotely?

Fewer day-to-day workplace distractions, and having such an awesome team to work with from all over the US!

Favorite kind of pie?

My grandmother's apple pie.

What cartoon character would you be?

Lisa Simpson.

If you could have a superpower, what would it be?


Are you a dog or cat person?


Favorite book?

It's classic, I know, but anything by Jane Austen.

Favorite place you've traveled to? Why?

Thailand, the people and culture were truly incredible - and so was the food!

Most recently used gif:

What accomplishment are you most proud of?

Learning to sail, though the learning part never ends.

How INN Labs Can Help You with NewsMatch

Interested in technical help from INN Labs? Fill out the request for support form.

NewsMatch is here! The team at INN Labs is once again gearing up to help participating organizations take advantage of this incredible fundraising opportunity.

Thanks to an investment from Knight Foundation, INN Labs is providing services to help participants improve their online donation flows, add important NewsMatch messaging and media to their sites, and learn how to use existing tools to optimize your campaigns. These services include direct technical support, written guides, and advice on implementing best practices.

Technical Support

INN Labs is providing technical support for participating organizations of all kinds, including WordPress and non-WordPress sites.

What are some examples of technical support?

  • Configuring WordPress plugins or integrations
  • Creating a new donation page
  • Adding NewMatch assets to your site
  • Optimizations for existing donation pages/campaigns

We understand that every organization’s needs are different. If you're part of a participating organization and would like to receive Knight Foundation-funded help with your website, please fill out this request for support form. We’ll be in touch starting September 17th to schedule a meeting to review your needs and set a timeline for working together on your campaigns.

Available Tools for WordPress Sites

INN Labs is providing training, hands-on configuration, and guidance on the best practices for how to use an array of WordPress plugins and tools.

Last year, INN Labs developed two WordPress plugins to help INN members strengthen their audience engagement efforts and improve their donation campaigns based on best practices recommended by the News Revenue Hub. We are recommending them again this year:

News Match Popup Basics Plugin

Popup Basics Plugin Documentation

This plugin is an add-on for the popular Popup Maker, automatically generates a popup that follows the Hub’s recommendations for user-friendly newsletter sign-up forms. These popups are minimal, responsive, and effective for growing your newsletter subscribers. Once the plugin is installed, you can then edit the popup with campaign messaging and branding elements for your organization.

How we can help: the INN Labs team is available to make sure you get the most out of the wonderful images, gifs, and messaging provided by NewsMatch. We can help you configure popups or update your site

News Match Donation Shortcode

How to use News Match Donation Shortcode

This second plugin by INN Labs creates a donation form compatible with the Hub’s Salesforce-Stripe connector, similar to the donation form on Oklahoma Watch or the Rivard Report. The donation form allows for either button or drop-down styled membership level selections, and you can use it multiple times on a single page, which is great for explaining membership levels to your donors. On the back-end, the plugin allows you to define the membership levels and associated messaging for your organization.

In addition to tools created by INN Labs, we have vetted and are suggesting the following plugin for donation pages:

Give Plugin

This plugin is great for WordPress sites that do not currently have a donation page or would like to start fresh with best practices and ease of use in mind.

The Give plugin is a full-featured donation plugin that allows you to accept one-time and recurring donations through customizable donation forms. It inherits your existing site design out of the box and integrates with many third-party gateways and services, such as Stripe, PayPal and MailChimp. You can also manage your donors, view donation reports, and more! We love that it gives you options for one-click donations and embeddable forms that eliminate scrolling and improve engagement.

Super Cool Ad Inserter Plugin

SCAIP Plugin Documentation

The Super Cool Ad Inserter is a WordPress plugin that gives site administrators a way to insert widgets such as ads, newsletter signups, or NewsMatch calls to action for donations directly into post content.

Stay Tuned

Make sure to keep an eye on Nerd Alert, our weekly newsletter, for events, tips, and other resources to help you get the most out of NewsMatch. We’ll be sharing how-tos for configuring donation forms and best practices for user experience design.

Sign up here if you aren’t subscribed already.

Get in Touch

  1. Interested in technical help from INN Labs? Fill out the request for support form.
  2. Join us for one of our weekly Office Hours. We’re happy to provide recommendations for maximizing your campaign or answers to NewsMatch questions.
  3. Reach us directly at with “NewsMatch 2018” in the subject line.

We look forward to supporting you!

Meet the Team: Tyler Machado, Front-End Developer

Tyler Machado

Next up in our "Meet the Team" series, we get to know Tyler Machado, our newest team member and front-end developer.

Tyler joined the INN Labs team earlier this year and previously worked as the editorial developer for Harvard Business Review, where he built interactive graphics. He's impressed us all with his design and development chops and is passionate about scrappy, local newsrooms and the Boston Celtics.

More from Tyler, in his own words:

Where are you from?

I grew up in Dartmouth, MA, and now I'm based in Boston.

How long have you been at INN?

One month!

What's your title and what do you do?

I'm the front-end developer at INN. I develop user experiences, audit content and work on the look and feel of our projects. My toolkit is mostly JavaScript and CSS with a hint of PHP for the WordPress-y parts.

What's your favorite part of your job?

That my work helps the journalists and communities who, in my opinion, are doing important and overlooked work. Tech is so often scary and/or frustrating nowadays that I feel like I have to do my small part to use it for good.

Where do you get your news?

Locally: The Boston Globe, WBUR, Boston Magazine. Globally: ProPublica, the New York Times, FiveThirtyEight. Plus any number of things that filter through my social networks, though I'm old-fashioned and visit site homepages a lot too.

Who or what inspires you? Why?

Communities built around learning, creativity and kindness.

What are your hobbies outside of work?

Spending all my time and money in record shops, rock clubs and small-scale breweries.

What's your favorite part of working remotely?

I feel lucky that my opportunities to make a living and work with great collaborators aren't tied to my geographic location, because even a city like Boston doesn't have as many news-nerd jobs as you'd hope. But replacing my MBTA commute with a walk/run around my delightful neighborhood is a big plus too.

Favorite kind of pie?

My mom's French meat pie.

What cartoon character would you be?


If you could have a superpower, what would it be?

I'd settle for a better bowling handicap.

Are you a dog or cat person?


Favorite album or book (or both)?

Depending on the genre of the day: "The Woods" by Sleater-Kinney, "The Lemon of Pink" by the Books, or "Donuts" by J Dilla

Favorite place you've traveled to? Why?

This is a copout, but I hope I haven't found it yet!

Most recently used gif:

Describe yourself in 5 emojis or less:


What accomplishment are you most proud of?

I graduated from a DJ-ing class last year and honestly, I'm still kinda psyched about it.

What are some noteworthy projects you've worked on at INN?

I'm only just getting started! But ask me again next year.

What's the most unusual place you've worked from?

I haven't been at INN long enough to go too much further than my home desk. The most unusual place I've had to work before was probably pushing updates on a tropical storm from a flooding lakefront, and I'd be happy to never do that again.

Chrome to uphold ‘Better Ads Standards:’ What this means for your site

Source: The Coalition for Better Ads

Google recently announced Chrome's plans to participate in The Coalition for Better Ads' Better Ads Experience Program and support the Better Ads Standards. Sites are currently being reviewed for any violations of these standards. Continue reading "Chrome to uphold ‘Better Ads Standards:’ What this means for your site"

How We Made a Shared Inventory for Public Broadcast Stations

We recently had an organization come to us with a unique challenge: a group of public broadcast stations needed a way to see what other stations were working on. They wanted an easy way to spark collaboration, avoid any programming duplication, and see opportunities for cross-promotion.

We had to figure out the best way to go about creating a private, easily-accessible, and friction-less shared inventory (what we were also calling a pipeline) of programs for TV and radio stations scattered across the state.

Here’s how we did it:

First, we started by identifying the basic needs of the programmers and those who would be maintaining the inventory/pipeline. Remember, we wanted to keep it as friction-less as easy to use as possible! Then, we focused on finding existing tools which would offer the necessary features for the workflow while being easy to adopt and use. Below you’ll find an overview of the workflow we built. We hope that sharing this with you will spark ideas for ways to improve your own workflows - whether it be a shared pipeline or another use case.

As always, feel free to reach out to us if you have a unique challenge that we can help you solve!

Our workflow uses a private (password protected) page in WordPress, Google Forms, Google Sheets, a script for said spreadsheet, and Google Drive. Here’s how it all comes together:

Step 1: Limit access to the shared inventory/pipeline

A WordPress page became the hub for the private access to all the shared information. We created a password-protected page which has direct access to the form (more below), as well as a direct link to the spreadsheet (again, more below) which contains all the shared information.

Here’s how to create a password protected page in WordPress and how it looked to users:

The workflow we created relies heavily on Google tools, so a Google login for each contributor to the inventory/pipeline is necessary.

For example, the Google Form that's embedded in the private page requires you to log in to submit your responses. A login is also required to access the spreadsheet. This allows for another layer of restricting access and creates a history of track changes for each user.

Next, you’ll see how we created the form.

Step 2: Build a form to collect information for the shared inventory

We built our form using Google Forms. They’re easy to create, allow for collaborators, and seamlessly connect with other Google Tools, which in our case are Google Sheets, Google Drive and of course, the Google login for restricting access.

The fields we decided to use are the following:

Step 3: Funnel the form submissions to a spreadsheet

Once responses to the form are submitted, the user has an option to edit their submission or submit an additional form response. The submissions are automatically sent to a connected Google Sheet. Each form question has its own column in the Google Sheet and the responses are added as cells under each column. This is the case for all columns except two. The exceptions:

Program Upload

If a program is uploaded as a .pdf file, for example, then the file is saved in a Google Drive folder and a link to the file is automatically added to the spreadsheet.

Link to Edit the Form Submission

Since every form submission has a unique URL, we needed to find a way had to populate the special link to edit the submission alongside its corresponding set of responses. We were able to do that by using Google Apps Script.

Check out next week's blog post ("Fun with Google Apps Script!") for more information on how we did this.

Want to know more about how we did this? Get in touch!

GA 101: Basic Metrics and Reporting

google analytics mobile

Welcome to Part 2 of our "Intro to Google Analytics" series! This time we'll be talking about basic metrics and reports you can use to better understand your site's overall performance, audience, and engagement levels.

First Things First

If you haven't set up your Google Analytics account yet – or are worried it's not set up correctly – this guide from Part 1 of this series will show you how. It's important to make sure your code is tracking properly and that you’ve set up filters to collect accurate and reliable data.

Once everything is set up and configured, you should wait a couple weeks for the data to come in. Then, it's time to see how your site is performing! The following metrics and reports will help you start analyzing your site's Google Analytics data.

Basic Metrics

There are more than 400 metric and dimension combinations in Google Analytics that you can use to analyze your data – wow! At a minimum, the following basic metrics are the most important to track:

Sessions: The number of times visitors are actively engaged on your website. Users (see below) can have multiple sessions in a day, week, month, etc. For more detailed information on how a session is calculated, go here.

Users: The number of visitors that have at least one session on your website. This number is good for seeing how many individual people have visited your site.

Pageviews: The number of times people visited a particular page or group of pages on your website.

Pages per Session: The average number of pages viewed during a session on your website. Higher pages per session means users are exploring more of your site and are likely more engaged. On the flip side, make sure to check for people who are hopping around looking for information they can't find!

Average Session Duration:  The average length of visitors’ sessions. Longer sessions typically indicate that users are more engaged.

Bounce Rate: The percent of visits that are single-page only. This is based only on sessions that start with that page. Usually, a high bounce rate is a sign that people are leaving your site (or a certain landing page) because they aren’t finding what they're looking for.

Exit Rate: The percentage of users that were the last in the session. This is the last place a user was before leaving your site and these "drop-off" points are important for understanding where to improve your site.

Percent of New Sessions: An average percentage of new visitors to your website. Keep in mind that this will also include sessions that have since expired and are now seen as "new" or sessions from previous users that are now over private browsers. See more in sessions (above) about how sessions are calculated.

Simple Reporting

Audience Overview 

This overview report will include all of the metrics mentioned above and is easy to update by date range. The best way to track your successes is by comparing your traffic over time.

  1. Log into your Google Analytics account.
  2. Select "All Web Site Data" (the MAIN VIEW).
  3. You’ll land on the "Audience Overview" tab within the Google Analytics reporting section.
  4. Set the data range in the top right corner to your desired time period.
  5. Select the "Compare to" tab.
  6. Select "Previous period."
  7. Hit "Apply."

Referral Traffic

Here's how you can find your main traffic sources from within Google Analytics:

  1. Log into your Google Analytics account.
  2. Select "All Web Site Data" (the MAIN VIEW).
  3. You’ll immediately be taken to the "Audience Overview" tab within the Google Analytics reporting section.
  4. Select the "Acquisition" tab on the left navigation bar.
  5. Select the "Overview" tab.
  6. Adjust the date range in the top right corner based on your preferences.
  7. Hit "Apply."

This report will show you the following information:

Direct traffic: Visitors who arrive to your site by typing your URL into their browser or via a bookmark.

Organic traffic: Visitors who arrive to your site from a search engine (and click on the organic, not paid, search results).

Referral traffic: Visitors who arrive to your site from another website that has linked to you.

Social traffic: Visitors who arrive to your site from a social media network.

Bonus: Monthly Performance Report

The Monthly Performance report summarizes the previous month's data for your site. Google Analytics will send it once a month. Here's what to do to receive the report:

  1. Log into your Google Analytics account.
  2. Click the button with 3 horizontal dots, then click "User settings."
  3. Select "Performance Suggestions and Updates." You can clear the checkbox if you want to stop receiving the report.

We hope you've found Part 2 of GA 101 useful and now understand the basic metrics and reports you should review. In the future, we'll be covering more advanced Google Analytics topics in our blog posts and webinars – so, keep an eye out for them!

If you have any questions about Google Analytics, optimizing campaigns, Google News, Search Console, or anything else related to your site, let us know! The team at INN Labs is always happy to hear from you.

GA 101: Intro to Google Analytics

Google Analytics

If you haven't yet set up Google Analytics for your site, or if you never take the time to look at the data it provides, then you're truly missing out. Google Analytics (GA) is filled to the brim with important information that you can use to boost your website's engagement, improve donation campaigns, increase search rankings, and more.

First, we'll start by making sure you have GA up and running with reliable data. Then be on the lookout for Part Two of this series, where we'll follow up with an overview of the basic metrics and reports that you should be using to your advantage.

Let's get started!

Setting Up Your Account

  1. First, head over to Google Analytics.
  2. Click “SIGN IN”, choose "Analytics" and enter your Google email account information. If you don't have a Google email address, you'll need to create one. Click the “Create an account” link to get started.
  3. Once you've logged in, click the “Start using Google Analytics” button.
  4. Enter an account name, the name of your website, your website URL, your type of industry (News), and your time zone.
  5. You'll also be asked to check or uncheck four data sharing settings. These help Google improve their service offering and are totally optional.
  6. Click the “Get Tracking ID” button at the bottom of the page and accept the Google Analytics Terms of Service Agreement.
  7. We'll want to make sure this snippet of code (the tag) is on every page of your site for you to start tracking and using Google Analytics. Next, we'll talk about how you can quickly and easily do this.

Wrangling the Tracking Code

There are a few different options for adding the tracking code to your site, with some being more manual and technical than others, and some that are tailored to your Content Management System (CMS). Take a look:

  1. If you're using WordPress as your CMS (including the awesome sites using our Largo platform), we recommend installing and activating INN Labs' No-Nonsense Google Analytics plugin. This plugin supports Universal Analytics (the newest type of Google Analytics tracking code at the time of this writing) as well as multiple tracking codes. Once activated, all you need to do is copy and paste your UA code into the settings.
  2. Use Google Tag Manager to add Google Analytics tags to any type of site. This route makes it easier to incorporate tags (snippets) from other sources like AdWords Conversion Tracking as well.
  3. If your site is on Drupal, you can use the Google Analytics module.
  4. Other CMS have settings for Google Analytics built in (like Squarespace), so you’ll just add your UA code into those specific settings.
  5. For all other sites, contact your webmaster to have them manually add the tracking code to your site.

Configuring Your Data

To ensure that you’re only capturing data from outside users (and not showing when you visit sites for testing, editing, etc.) you'll want to filter out your IP address from Google Analytics:

  1. Find out your IP address by going to
  2. Log into your Google Analytics account.
  3. Select "Admin" in the top navigation bar.
  4. Under "Account," select "All Filters."
  5. Select "+ New Filter."
  6. Add a filter name, depending on what IP you’re entering. For instance, if you’re adding your home IP address, I would suggest naming it "Home IP Filter."
  7. Select "Predefined filter," and then exclude traffic from the IP addresses that are equal to your IP address. Then enter your IP address.
  8. Apply the filter to the "All Web Site Data" view only.
  9. Select "Save."

Is It Working?

Once you have successfully installed the Analytics tracking code, it can take up to 24 hours for data such as traffic-referral information, user characteristics, and browsing information to appear in your reports. However, you can check your web-tracking setup immediately with one of the following tools:

Real-Time Reports

The Real-Time reports let you see current activity on your site. If these reports have data, then your tracking code is collecting data and sending it to Analytics as expected.

To see the Real-Time reports:

  1. Sign in to your Analytics account.
  2. Navigate to a view in the property which has your tracking code. If you only recently added the tracking code to this property (website), it is likely that there will only be one view.
  3. Open Reporting.
  4. Select Real-Time > Overview or Real-Time > Behavior.

Google Tag Assistant

Google Tag Assistant is a free Chrome browser extension that shows you whether Google Analytics tracking codes (the tags) are firing correctly. It will also give you details regarding any errors, which is great for troubleshooting if you do have any issues. It's also great for other uses (see below).

Frequently Asked Questions

How do I find my UA code to put into a plugin or my CMS settings?

(Example: UA-000000-01)

  1. Log in to your Google Analytics account and select your site's profile.
  2. Click on the Admin tab in the right menu bar.
  3. You'll see your UA code near the top of the page.
  4. Copy the UA code and paste into your plugin or CMS settings.

How and why should I connect to other accounts?

To get the full features of Google Analytics, I highly recommend connecting your other accounts. The accounts most commonly linked with Google Analytics are Search Console (formerly Webmaster Tools), AdWords, or DoubleClick. You can find more information about this from Google here.

I’m having trouble getting my tracking code working, help?

Try Google's Troubleshooter or use Google Tag Assistant to see what's causing the issue.

How do I share accounts?

If you need to add, modify or delete users from your account, here's a handy guide.

How do I find out if there’s already a tracking tag on my site?

Google Tag Assistant comes to the rescue once again! It will show all the Google Analytics tags found on your site and you’ll be able to see if they are the new Universal Analytics (analytics.js) tracking tags or the classic, legacy (ga.js) tags.

What if I DO have another GA tag on my site?

If you have multiple Google Analytics tags, make sure that you only have ONE ga.js tag.

If you have more than one, it will compromise the data for all the accounts associated with your site. You can, however, have as many Universal Analytics (analytics.js) tags on your site as you'd like. Use the No-Nonsense Google Analytics plugin to easily add multiple Universal Analytics tracking UA codes.

In Conclusion

We hope you've found this intro to Google Analytics useful and now understand how easy and important it is to have it on your site. In the near future, we'll be covering more advanced Google Analytics topics in our blog posts and webinars.

If you have any questions about Google Analytics, optimizing campaigns, Search Console, or anything else related to your site, let us know! The team at INN Labs is always happy to hear from you.