# genai-for-marketing: Google Cloud's Terraform-Deployed Marketing Demo

> GoogleCloudPlatform/genai-for-marketing is a reference solution, not a library: a Terraform-deployed frontend and backend plus notebooks that demonstrate six marketing use cases on Vertex AI. It is useful for evaluation and prototyping, less so for production teams who need rollback and upgrade paths the README does not document.

**GoogleCloudPlatform/genai-for-marketing** — Showcasing Google Cloud's generative AI for marketing scenarios via application frontend, backend, and detailed, step-by-step guidance for setting up and utilizing generative AI tools, including examples of their use in crafting marketing materials like blog posts and social media content, nl2sql analysis, and campaign personalization.

- Repository: https://github.com/GoogleCloudPlatform/genai-for-marketing
- Website: https://cloud.google.com/vertex-ai/
- Stars: 517 · Forks: 142
- Language: Jupyter Notebook
- License: Apache-2.0
- Published: 2026-09-10 · Updated: 2026-09-10 · Language: en
- Canonical page: https://hysenlabs.com/projects/googlecloudplatform-genai-for-marketing

## What genai-for-marketing actually is, and who it is for

The README describes the repository as "resources enabling generative AI-powered marketing use cases on Google Cloud." That phrasing matters. This is a reference solution and a set of teaching notebooks, not a package you add to a build file. The repository layout confirms it: /app holds architecture diagrams and images, /backend_apis and /frontend hold application source, /infra holds deployment scripts, /notebooks holds Jupyter notebooks, and /templates holds Workspace Slides, Docs and Sheets templates used by the solution.

The audience is a marketing technologist, a solutions architect, or a data engineer who has been asked to show what generative AI can do for a marketing organisation and needs something more concrete than a slide deck. The six demonstrations cover marketing insights on Looker dashboards, a conversational natural-language-to-SQL interface for audience and insight finding, trendspotting from Google Trends data with news summarisation, content search backed by Vertex AI Search, content generation for email copy, website articles and social posts, and transfer of generated assets into Google Workspace.

If you are looking for a maintained Python client or a drop-in API, this is the wrong repository. There is no package on a registry, and the primary language is Jupyter Notebook, which tells you where the emphasis sits: explanation and demonstration rather than library ergonomics.

## How the deployed solution is put together

The README points to an architecture diagram at /app/images/architecture.png and splits the codebase into a frontend, a set of backend APIs, and Terraform infrastructure. The frontend is the user-facing surface where the demonstrations run. The backend APIs hold the logic that calls the Google Cloud services. The infrastructure directory is what creates the environment those two run in.

Data flow follows the demonstration list. Marketing insights and trendspotting read from Looker dashboards, with trendspotting drawing on Google Trends data and summarising related news. The audience and insight finder translates natural language into SQL, which the README describes as democratising data access for non-SQL users. Content search goes through Vertex AI Search. Content generation calls Vertex foundation models, and the README notes that this covers both textual and visual elements using Vertex language and vision models. Workspace integration then moves generated insights and assets into Slides, Docs and Sheets.

The notebooks mirror parts of this. The repository ships a notebook that translates questions from natural language to GoogleSQL for BigQuery, one that summarises news with LangChain agents and the ReAct concept, a simpler news summarisation notebook, and an Imagen fine-tuning notebook. The README also links out to external notebooks in GoogleCloudPlatform/generative-ai for Gemini tuning, document summarisation, document Q&A, Vertex AI Search web and document search, and LangChain with the Vertex AI Gemini API. Those external links are worth noting: the repository leans on a sibling project for several of the underlying techniques rather than reimplementing them.

## Deploying with Terraform: install and first run

The README does not give install commands inline. It says to follow the instructions in the deployment guide at /infra/README.md to deploy with Terraform, and links a video that walks through the automated deployment process. That guide is the authoritative source for the exact steps; read it before running anything, because the repository README does not reproduce them.

What the README does state is the configuration model. Various settings for the deployment are pulled from infra/variables.tf, and if your deployment needs do not match the default deployment, some of those needs might be met by adjusting the defaults in variables.tf before beginning deployment. It adds a specific warning: make changes to variables.tf prior to running terraform init, because changes afterwards may result in unexpected behaviour including irrecoverable deployment failures. That is a real constraint, not boilerplate.

The deployment is Terraform-based and the guide lives in the infra directory, so the working directory for the documented steps is /infra. The README names the first command of that sequence when it refers to running terraform init:

```bash
terraform init
```

After that, the guide in /infra/README.md carries the remaining deployment steps. The README does not list them here, so do not improvise flags or variable names beyond what that file specifies.

The README also mentions a Config.toml file under the Configuration section, describing it as a way to change some of the solution's behaviour after deployment. The README text available here cuts off partway through that section, so the exact keys and their effects are not documented in what is shown. Read the full section in the repository before editing Config.toml.

For the notebook route, the README lists specific files under /notebooks, for example data_qa_with_sql.ipynb for natural language to GoogleSQL against BigQuery, and simple_news_summarization.ipynb for news summarisation related to top search terms. These run in a Jupyter environment rather than through the Terraform deployment.

## The deployment order constraint and other sharp edges

The strongest documented limitation is the ordering rule around variables.tf. The README says changes made after terraform init may produce unexpected behaviour, up to and including irrecoverable deployment failures. For a team used to editing variables and re-applying, that is an uncomfortable property. It means the practical workflow is to decide your configuration up front, or to tear down and start again.

Nothing in the README describes a rollback procedure, an upgrade path between releases, or a compatibility guarantee. There are three releases listed: v1.1.1 and v2.0.0 both dated 2024-04-05, and v2.1.0 dated 2024-10-04. The jump from v1.1.1 to v2.0.0 on the same day suggests a versioning reset, and the README does not explain what changed or what migration is required. If you deploy v2.1.0 and later want a newer release, the repository does not tell you how to get there.

There is also a scope limitation hiding in the demonstration list. Marketing insights and trendspotting depend on Looker dashboards, content search depends on Vertex AI Search, and Workspace integration depends on Google Workspace. The solution is not self-contained; it assumes an existing Google Cloud footprint and existing data. If your marketing data is not in BigQuery or Looker, several demonstrations have nothing to read from.

Finally, the primary language is Jupyter Notebook. Notebooks are excellent for explanation and poor for testing, versioning and code review. Teams that need to adapt the logic will end up extracting it into ordinary modules, which is work the repository does not do for you.

## Where this fits against building on Vertex AI directly

The obvious alternative is to skip the repository and call the Vertex AI APIs yourself, following the external notebooks the README links to in GoogleCloudPlatform/generative-ai. The difference in approach is significant. This repository gives you an opinionated, deployable application: a frontend, backend APIs, Terraform infrastructure, and Workspace templates, all wired to specific Google Cloud services. That saves design time and gives you something to show stakeholders quickly. Building directly on Vertex AI gives you control over the data model, the deployment topology and the service boundaries, at the cost of making all those decisions yourself.

A second alternative is a general-purpose orchestration framework such as LangChain, which this repository already uses in one notebook for news summarisation with agents and the ReAct concept. LangChain is a library, not a deployed solution. It travels with you across model providers and deployment targets, but it provides no frontend, no infrastructure, and no marketing-specific flows. Choosing between them is choosing between a working demonstration and a set of building blocks.

The honest comparison is that this repository is a starting point that assumes you will outgrow it. The demonstrations are the value; the application scaffolding is a convenience.

## Maintenance, licensing and what the upgrade cost looks like

The repository is not archived, and the last push was on 2026-06-21. That is recent enough that the codebase is not abandoned, but the release history tells a different story about cadence: the newest listed release, v2.1.0, is dated 2024-10-04. Commits have continued while tagged releases have not, which is common for demonstration repositories and awkward for anyone pinning a version.

The licence is Apache-2.0, which permits commercial use, modification and redistribution, and includes an explicit patent grant. It also requires that you preserve copyright and licence notices and state significant changes. This is a permissive licence, so the main implication is attribution hygiene rather than restriction. That is a general description of Apache-2.0, not legal advice; consult your own counsel for your situation.

The practical upgrade cost is the part to weigh. Because the README documents no migration procedure and warns that post-init variable changes can break a deployment, treating the Terraform state as disposable is often cheaper than trying to evolve it. If you fork the repository to build something real, expect to own the infrastructure yourself and to track upstream changes by reading diffs rather than by following a changelog, since the release notes available here do not describe what changed between v2.0.0 and v2.1.0.

## Conclusion

Adopt it if you want to see Vertex AI, BigQuery, Looker and Workspace wired into working marketing flows before committing engineering time, and if a Terraform deployment into a Google Cloud project is acceptable. Do not treat it as a production service: the README documents no rollback, no upgrade procedure, and no compatibility promise between releases. Before deploying, read infra/variables.tf, confirm which Google Cloud project and region the defaults target, and check whether the Config.toml section in the README covers the behaviour you intend to change.

## FAQ

### How can generative AI be used in marketing according to genai-for-marketing?

The README lists six demonstrations: marketing insights on Looker dashboards, an audience and insight finder that turns natural language into SQL, trendspotting from Google Trends data with news summarisation, content search with Vertex AI Search, content generation for email copy, website articles and social posts, and transfer of assets into Google Workspace.

### Is genai-for-marketing an AI tool for marketing, or something else?

It is a reference solution and a set of notebooks rather than a packaged tool. The README describes it as resources enabling generative AI-powered marketing use cases on Google Cloud, and deployment is done with Terraform from the /infra directory.

### How do I deploy genai-for-marketing?

The README says to follow the instructions in the deployment guide at /infra/README.md and deploy with Terraform. It warns that changes to infra/variables.tf must be made before running terraform init, because changes afterwards may cause unexpected behaviour including irrecoverable deployment failures.

### Does genai-for-marketing include Jupyter notebooks I can run separately?

Yes. The /notebooks directory contains data_qa_with_sql.ipynb for natural language to GoogleSQL against BigQuery, news_summarization_langchain_palm.ipynb using LangChain agents and the ReAct concept, simple_news_summarization.ipynb, and Imagen_finetune.ipynb for fine tuning Imagen.

### What Google Cloud services does genai-for-marketing depend on?

Based on the demonstration list, it uses Looker for marketing insights and trendspotting, BigQuery for the natural-language-to-SQL flow, Vertex AI Search for content search, Vertex foundation models for content generation, and Google Workspace for Slides, Docs and Sheets output.

### What licence does genai-for-marketing use?

The repository is licensed under Apache-2.0, which permits commercial use and modification while requiring that copyright and licence notices are preserved and significant changes are stated.

## Sources

- [GoogleCloudPlatform/genai-for-marketing on GitHub](https://github.com/GoogleCloudPlatform/genai-for-marketing)
- [License: Apache-2.0](https://github.com/GoogleCloudPlatform/genai-for-marketing/blob/main/LICENSE)
- [Project website](https://cloud.google.com/vertex-ai/)
- [README](https://github.com/GoogleCloudPlatform/genai-for-marketing/blob/main/README.md)
- [Releases](https://github.com/GoogleCloudPlatform/genai-for-marketing/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/googlecloudplatform-genai-for-marketing
