Google Sheets Is a Surprisingly Good CMS for Small Sites
Content management systems are complex. For a small marketing site or a portfolio with a handful of pages, most of the CMS complexity is wasted. Google Sheets offers an alternative that non-technical clients actually understand.
The setup: one sheet per content type. A 'Blog Posts' sheet with columns for Title, Slug, Date, Body, Category. An Apps Script web app that serves any row matching a requested slug as JSON. A Next.js or Astro frontend that fetches from that endpoint at build time or on-demand. The client edits the spreadsheet. The site updates.
This is not the right choice for a site with thousands of posts or complex permissions. For a 20-page site owned by a solo founder who does not want to learn Contentful, it is genuinely useful.
Apps Script Has Access to Google Analytics Data
The Google Analytics Data API is available as an Advanced Service in Apps Script. You can query your GA4 property for page views, bounce rate, session duration, and conversion data, then write the results directly into a sheet.
A practical use: a weekly report that runs every Monday morning, pulls the previous week's top 10 pages by traffic, compares them to the same period two weeks ago, highlights pages that dropped more than 20%, and emails the report to the marketing team. No Looker Studio. No third-party reporting tool. Just a script and a sheet.
Sheets Can Be a Real-time Collaboration Tool for Development Teams
Not every piece of shared data belongs in a database. Sprint planning, bug triage lists, feature priority rankings, deployment checklists: these things change frequently, need to be visible to the whole team, and are often edited by non-developers.
The Google Sheets API lets you read and write to a sheet from any language using standard HTTP calls. A CI pipeline can write deployment status to a 'Production Deployments' sheet. A monitoring script can mark rows in a 'Known Issues' sheet when alerts resolve. The sheet becomes a low-friction shared state that engineers, managers, and clients can all see and update.
You Can Build a Full Survey Tool Without Any Backend
Google Forms and Sheets are tightly integrated. A form submission writes a row to a connected sheet automatically. Apps Script can watch that sheet with an onFormSubmit trigger and react to each new response: send a confirmation email, calculate a score, route the response to a different sheet based on an answer, or trigger an external webhook.
For a customer satisfaction survey or an employee onboarding form, this covers most of what a paid survey tool provides. The results are in a format that every stakeholder already knows how to work with.
ImportHTML Pulls Table Data From Live Websites
The =IMPORTHTML(url, 'table', index) function fetches a web page and extracts a table from it directly into your sheet. It refreshes every few hours automatically.
Developers use this for quick data gathering: pulling a public pricing table from a competitor's website, extracting sports statistics for a side project, importing exchange rates from a public finance page. The data lands in Sheets where you can apply formulas, create charts, and share it instantly.
It is not a replacement for a proper web scraper. But for a one-off data task or a weekly check that does not justify building infrastructure, it is the fastest possible approach.
Apps Script Can Modify Google Slides Programmatically
The Slides API is accessible from Apps Script, which means you can generate presentation slides from spreadsheet data. A script can open a template presentation, duplicate a slide for each row in a sheet, replace placeholder text with real data, and export the result as a PDF.
This is genuinely useful for agencies that deliver monthly client reports as slides. The slides are branded, consistently formatted, and generated in seconds. The alternative is manually copying numbers into a presentation every month, which is the kind of repetitive work that Apps Script was built to eliminate.
Sources
- Google Analytics Data API in Apps Script: Google Developers, Advanced Services overview - developers.google.com/apps-script/guides/services/advanced
- Google Sheets API: Google Developers, Sheets API reference - developers.google.com/sheets/api
- Google Forms and Sheets integration: Google Support, Manage form responses - support.google.com
- IMPORTHTML function: Google Support, IMPORTHTML - support.google.com
- Slides API reference: Google Developers, Slides API - developers.google.com/slides
Work with me
Want to build something like this?
I build, optimise, and ship for teams who need it done right. Free project scoping, full code ownership.

