This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Public Good


Make a difference with your content by empowering readers to action.

Public Good’s button, card, and chat widgets present your readers with the ability to take action at the moment of inspiration and engage further with your content. From dozens of concerns ranging from natural disasters to violence to animal abuse, our widgets help connect your audience to the relevant nonprofit organizations working on causes related to your content.

We designed our plugin for anyone looking to make their content impactful. Through a lightweight, turn-key solution powered by both machine learning and human analysis, we can deliver results customized for each media partner. Media partners can also configure the plugin to deliver specific and custom results by cause, location, organization, specific actions, or whatever other factors will empower their readers to take action.

Join publishers and brands like CNN, Tribune, Gannett, Upworthy, Lyft and many others already using Public Good’s technology to make their content actionable, increase user engagement, and measure the positive impact of their stories.

If you represent a media organization or brand, please contact us at if you have not already so we can assist you by providing an implementation plan that fits your organization’s goals.


  1. Install and activate the plugin through the ‘Plugins’ menu in WordPress
  2. Locate your organization’s partner-id. This is the key that ensures our widget will deliver the results (organizations, causes, actions, etc.) you expect. If you do not have a partner-id, submit a ticket, or, if you are a media organization or brand, send us a note so we can send your custom instructions based on your specific goals. We’ll reply within a business day.
  3. If you have not already received implementation instructions from us, be sure and contact us. Our instructions ensure our content classification tool fits the specific implementation goals you have.


Who else uses this?

We’re adding new partners all the time but our long-term partners include CNN, Gannett, Cox Media, Upworthy, Tribune, Meredith Broadcasting, Univision, Lyft, Atlassian, Brandless and many more.

How do I get started?

If you represent a media organization or brand, contact us at so we can assist you by talking through your strategic and impact-oriented goals and providing an implementation plan that fits. At a very minimum, you’ll need to get a partner-id from us in order to get started.

How do you pick the nonprofits that show up?

Public Good maintains listings for all legally recognized 501(c)(3) nonprofits in the United States. At last count that was 1.1 million organizations! When a user interacts with a Public Good widget, our technology ensures that the organizations who benefit from your readers’ actions are relevant to the content or story that provides the context.

Public Good also creates cause pages for issues happening in breaking news so people can take action on the important issues of the day. When we do this we select organizations to highlight based on the following criteria:
1. IRS standing — We confirm that the organization is in good standing with the IRS and is a 501(c)(3).
2. Watchlists — We check to make sure that the organization doesn’t appear on watchlists such as the Southern Poverty Law Center’s Hatewatch list and United Nations Sanction list.
3. Size — We look for organizations with over $250,000 annual revenue in the last year. Falling under that amount wouldn’t keep an organization from appearing on a Public Good-curated page, but we would do extra diligence through our internal screening (see below).
4. Internal screening team — We have a core team of people at Public Good who have worked with and for nonprofits for a long time. We know nonprofits. Our team looks closely at the nonprofit using media checks to screen for press and articles about the organization, verification that the organization still works on the issue, and that they are still active in the community.
5. Data — Public Good has amassed one of the largest databases of nonprofit information. It includes public records, licensed data, and data we’ve collected ourselves. This lets our screeners and algorithms consider everything from how long an organization has been working on a problem, their financial history, management changes, and much more.
6. Outreach — If we still have questions, we may reach out to the organization to let them know we’re considering them for a cause page so we can find out a little more about them.
As our partner you can determine which organizations you do or do not want displayed in the context of your content, of course.

So, how does it work? How does it know what to display?

The cause that the widgets surface, the actions that users can take, and the organizations that benefit from the actions can be determined by you or by us, depending on your goals.

If you’re doing a trial-run or have a single or small set of causes you want to focus on, we’ll provide you an example published on our demo WordPress site with instructions showing exactly what your shortcode should look like to get those results.

If you’re looking to take your integration to the next level, we’ll use our automatic classification system–which utilizes a rules engine and machine-learning algorithms–to yield highly accurate results at scale. This solution is recommended for partners who publish a lot of actionable content. We call this auto. Even with auto in place, you, as our partner, can specify a lot of the rules that determine what is displayed and when. Otherwise, we’re glad to make recommendations based on best practices.

Can we pick the nonprofits that show up? The causes? The specific actions?

Yes! Let’s talk. This all part of what we discover together as we plan an implementation with you.

What options do we have to customize our widget?

Our default approach is to deliver widgets in your preferred brand colors. We do have options to whitelist the widgets, replacing our logo with yours as well. This option is reserved for partners and brands who enter into an agreement with us.

What do I do if I want to hide a widget?

If you see a widget referencing a cause that is out of context or if you see a widget showing up on content that, for editorial reasons, you prefer it would not, you can login to Public Good, submit the URL and hide it. Emil us if you have not already and we’ll make sure you have an account and send you back instructions on hiding our widgets.

Do you charge for this?

We do not charge bloggers or news media outlets to use our products. If you are a brand interested in our cause marketing solutions, we’d love to hear from you.

Why do you need to load javascript?

Our script enables our classification system to work it’s magic, determining the best results based on the specific content displayed on each article. This also allows us to be flexible and work with you to use multiple types of widgets and publish and point to new campaigns as news breaks.

We do have other implementation options available if, for any reason, you are unable to add javascript to your site. These options may however be limited in function. We can schedule a technical call or provide more details if you’re interested.


There are no reviews for this plugin.

Contributors & Developers

“Public Good” is open source software. The following people have contributed to this plugin.


Translate “Public Good” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Updated JavaScript file reference path.


  • Removed settings panel.
  • Prevent div attributes from getting stripped by KSES.
  • Add support for new widget types (card and chat)
  • General enhancements to takeaction shortcodes


  • Fixed incorrect identification of target type.


  • Add Public Good as an oEmbed provider.


  • Upgrade plugin to use version 2 of the button code.


  • Security enhancements to support WordPress VIP
  • Added support for different sizes and colors of buttons


  • Fixed to support WP versioning


  • Updates to readme


  • Added default location as an option.
  • Added using tags to help determine a default cause if none is specified.


  • First stable version!