diff --git a/docs/docs/using-client-side-only-packages.md b/docs/docs/using-client-side-only-packages.md
new file mode 100644
index 0000000000000..464c918b3483d
--- /dev/null
+++ b/docs/docs/using-client-side-only-packages.md
@@ -0,0 +1,85 @@
+---
+title: Using Client-Side Only Packages
+---
+
+On occasion, you may need to use a function or library that only works client side. This usually is because the library in question accesses something that isn't available during server-side rendering (SSR), like [browser DOM](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model) methods.
+
+You'll need to use one of the workarounds outlined below if your project fails to compile with `gatsby develop` or `gatsby build` with an error like:
+
+```bash
+Reference error: Window is not Defined
+```
+
+## Workaround 1: Use a different library or approach
+
+Sometimes the simplest approach is to work around the problem. If you can re-implement your component using a plugin which _doesn't_ break SSR, that's probably best.
+
+## Workaround 2: Add client-side package via CDN
+
+In the component where you need it, load the package via CDN using a [``](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script) tag.
+
+To embed your script, you can:
+
+- Include it in a custom component as needed using [`react-helmet`](https://github.com/nfl/react-helmet).
+- Add the script tag directly in your base html using Gatsby's [html.js](/docs/custom-html/)
+
+You should then follow React's guidelines for [Integrating with DOM Manipulation Plugins](https://reactjs.org/docs/integrating-with-other-libraries.html#integrating-with-dom-manipulation-plugins), using the methods available in the [React Component Lifecycle](https://reactjs.org/docs/react-component.html#the-component-lifecycle) to interact with the library you're using.
+
+```jsx
+import React, { Component } from "react"
+import { Helmet } from "react-helmet"
+
+class MyComponent extends Component {
+ componentDidMount() {
+ // set up and use external package as needed
+ window.externalLibrary.method()
+ }
+
+ render(props) {
+ return (
+ Hello World
+ {/* etc */}
+