Next

Revenue Enablement

Google Apps Script

Enablement

PMM Content OS App

PMM Content OS App

Build your internal content sharing app today

Build your internal content sharing app today

Build your own internal app for sharing content, tracking adoption, and managing internal requests.

App

https://youtu.be

Content Operating System - Complete Setup Guide

This guide will walk you through setting up your own searchable content database with analytics tracking. The system helps teams find content quickly and provides insights into what's being used most.

📋 Table of Contents

🚀 Initial Setup

Step 1: Copy the Template Spreadsheet

  1. Open the template spreadsheet: Content Database Template (link provided separately)

  2. Click "Make a copy"

  3. Save it to your Google Drive with a descriptive name like "Company Content Database"

  4. Open your new copy

Step 2: Set Up Google Apps Script

  1. In your copied spreadsheet, click Extensions > Apps Script

  2. Delete any existing code in the editor

  3. Copy and paste the provided Code.gs file content

  4. Click Save (disk icon)

  5. Give your project a name like "Content Finder App"

Step 3: Get Your Spreadsheet ID

You'll need this to connect your app to your data:

  1. In your spreadsheet, look at the URL in your browser:

  1. Copy the YOUR_SPREADSHEET_ID portion (the long string between /d/ and /edit)

Example:

  • URL: https://docs.google.com/spreadsheets/d/1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms/edit

  • Spreadsheet ID: 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms

🔐 Script Authorization

When you first run any function in the Apps Script, you'll see a security warning. This is normal and expected.

Why You See This Warning

Google shows this warning for ANY custom script to protect users from potentially harmful code. The warning appears because:

  1. The script isn't published on the Google Workspace Marketplace

  2. Google hasn't verified the script's developer

  3. The script requires access to your Google Drive and Spreadsheets

Why It's Safe to Proceed

This script is completely safe because:

  • ✅ It's YOUR copy of the script running in YOUR Google account

  • ✅ It only accesses YOUR Google Drive files

  • ✅ No data is sent to external services

  • ✅ All operations happen within your Google Workspace

How to Authorize the Script

  1. When you see "Google hasn't verified this app", click "Advanced" (bottom left)

  2. Click "Go to Content Finder App (unsafe)"

  3. Review the permissions and click "Allow"

These permissions are necessary for the script to:

  • Read your content database spreadsheet

  • Create tracking sheets for analytics and feedback

  • Create a web app to display your content finder

⚙️ Configuration

After authorization, you need to update the script with your specific spreadsheet ID:

Step 1: Update the Script Configuration

  1. In your Apps Script editor, find the configuration section at the top:

  1. Replace 'YOUR_SPREADSHEET_ID_HERE' with your actual Spreadsheet ID from the Initial Setup

  2. Click Save (disk icon)

Example:

Step 2: Customize Appearance (Optional)

You can customize the web app's appearance by modifying the branding section:

📊 Adding Your Content

Required Sheet Structure

Your spreadsheet needs a sheet named "Content Database" with these exact column headers:

Sample Data Format

Here's how to structure your content data:

| Collateral Name | Link/Location | Type | Product Line | Integrations | Competitor | Persona | Company Size | Industry

|-----|-----|-----

| Product Demo Video | https://youtu.be/abc123 | Video | Enterprise | Salesforce, HubSpot | General | Sales Manager | Enterprise | Technology | ROI Calculator | https://company.com/roi-calc | Tool | Professional | Excel | vs Competitor A | CFO | SMB | Finance


Data Entry Best Practices

Consistent Naming:

  • Use the same terms across entries (e.g., always "Enterprise" not sometimes "enterprise")

  • Create a style guide for your team

Multiple Values:

  • Separate multiple values with commas: "Salesforce, HubSpot, Slack"

  • Use spaces after commas for readability

Links:

  • Include full URLs starting with https://

  • Test links to make sure they work

🚀 Deploying the Web App

To make your content finder accessible via a web app:

  1. In your Apps Script editor, click Deploy > New deployment

  2. Select Web app as the deployment type

  3. Configure the deployment:

  4. Description: "Content Finder Web App"

  5. Execute as: "Me"

  6. Who has access: Choose appropriate access level:

  7. "Only myself" (just for you)

  8. "Anyone within [your organization]" (for internal use)

  9. "Anyone" (public access)

  10. Click Deploy

  11. Copy the Web app URL that appears

You now have a web app that displays your searchable content database!

Testing Your Deployment

  1. Open the web app URL in a new browser tab

  2. You should see:

  3. Your content finder interface

  4. Search and filter options

  5. Your content data (if you've added any)

🎨 Customization Options

Content Database Structure

Modify your spreadsheet columns to match your content types. If you add custom columns, update the code in the getInitialData() function.

Web App Appearance

Customize colors, fonts, and text by modifying the variables in the "BRANDING CUSTOMIZATION" section:

  • App Title: Change the main heading

  • Colors: Use your brand colors (hex codes)

  • Footer: Add your company information

  • Content Labels: Customize terminology

Analytics Features

The system automatically tracks:

  • Content clicks and usage

  • Popular content items

  • Usage trends over time

  • User feedback

Access analytics by clicking the "📊 Analytics" link in your web app.

📈 Using the System

For End Users

Finding Content:

  1. Use the search box to find content by name or keywords

  2. Use filter dropdowns to narrow by category

  3. Click content titles to open in new tabs

  4. Use "Copy Link" buttons to share content URLs

Providing Feedback:

  1. Click the "Provide Feedback" button (bottom right)

  2. Select feedback type and enter your message

  3. Submit to help improve the content database

For Administrators

Managing Content:

  1. Add new content directly to the spreadsheet

  2. Update existing content by editing spreadsheet rows

  3. Remove outdated content by deleting rows

Monitoring Usage:

  1. Click "📊 Analytics" to view usage dashboard

  2. Review feedback in the "Feedback" sheet

  3. Track popular content in the "Click Tracking" sheet

🔧 Troubleshooting

Content Not Showing

Check these items:

  1. Verify your sheet is named exactly "Content Database"

  2. Ensure column headers match exactly (case-sensitive)

  3. Make sure you have data in rows 2 and below

  4. Check that your Spreadsheet ID is correct in the code

Authorization Issues

If you see "You do not have permission to access the requested resource":

  1. Make sure you're signed in with the same Google account that owns the script

  2. Try reauthorizing the script by running any function

  3. Check spreadsheet sharing permissions

Web App Not Loading

  1. Create a new deployment of the web app

  2. Check browser console for JavaScript errors (F12)

  3. Verify the web app URL is correct

  4. Try accessing in an incognito/private browser window

Performance Issues

  1. Keep content database under 1000 items for best performance

  2. Data is cached for 5 minutes - wait for cache refresh

  3. Check internet connection speed

❓ FAQ

Is this script safe to use?

Yes! The script only accesses your own Google Drive files and doesn't send data anywhere else. The security warning is standard for any custom script that hasn't been verified by Google.

Can I share this with my team?

Yes! You can:

  1. Share the web app URL with anyone who needs to find content

  2. Share the spreadsheet with editors who need to manage content

  3. Share this documentation to help others understand the system

How do I add new content categories?

  1. Add new columns to your spreadsheet

  2. Update the columns array in the getInitialData() function

  3. Redeploy the web app

Can I customize the search and filter options?

Yes! Modify the spreadsheet structure and update the corresponding code sections. The system automatically generates filter options based on your data.

How do I backup my data?

  1. Regularly download your spreadsheet as Excel/CSV

  2. Use Google Takeout for complete backup

  3. Consider setting up automated backups using Apps Script triggers

How do I stop click tracking?

Remove or comment out the trackClick() function calls in the JavaScript code, then redeploy the web app.

📞 Need Help?

If you encounter any issues or have questions about the Content Operating System, check the troubleshooting section above or review the error messages in your browser's developer console (F12).

For everything else, you can email support@productivepmm.com

See similar resources

See similar resources