How to customize the GBP Audit Tool Report email template
Customize your GBP Audit Tool Report email, understand merge tags and display rules, and request our latest standard template from support.
Your GBP Audit Tool Report email turns an audit into a personalized report for a prospective client. You can customize the wording and design while keeping the fields that automatically insert the business details, results, and recommendations. Editing the template changes how the email presents the results; it does not improve the business’s score or change its rankings.
Customize your email template
-
In Paige, go to Settings → White Label → Email Settings.
-
Choose GBP Audit Tool Report from the template dropdown.
-
Keep a copy of your current wording before making substantial changes.
-
Customize the text, fonts, colors, and layout.
-
Preserve the merge tags, display rules, and dynamic links explained below. Use Merge Tags when adding a supported field.
-
Save using the option at the bottom right before leaving.
-
Check the layout with Preview Email, which uses test data. Review a generated email to see actual audit results.
For editor and sending-account help, see Merchynt’s email customization guide.
Understand what you are editing
The template contains ordinary text, merge tags, and display rules. A merge tag is a placeholder that is replaced with information for that audit. Display rules tell the email which results to include and which sections to repeat.
| What you see | What it does | How to customize it |
|---|---|---|
| Ordinary text, such as “Audit Results” or “Want us to fix all of this for you?” | Supplies the wording readers see. | Rewrite it to match your agency’s voice and services. |
Double braces, such as {{ business_name }} | Insert a value from the audit. | Keep the field name and braces intact. Edit the wording around it. |
Braces with percent signs, such as {% for check in audit_checks %} | Repeat content or show it only when a condition is met. | Keep each opening rule, its content, and its matching ending together. |
For example, you can change the introduction to:
Hi {{ client_first_name }}, your audit for {{ business_name }} is ready. Below are the key findings and opportunities to improve your visibility on Google and AI search.
The greeting and business name will still personalize for each audit. Replacing a tag with a typed name would show that same name to every recipient.
Template fields by email section
Agency branding and business overview
This section identifies your agency and the business being audited. Example values below illustrate how the fields appear; each audit supplies its own values.
| Field | Meaning |
|---|---|
{{ agency_name }} | Your agency’s name. It also appears in the closing offer to help. |
{{ audit_label }} | The short report label above the business name, such as “LOCAL MARKETING AUDIT.” |
{{ business_name }} | The name of the business being audited. |
{{ business_address }} | The business address included in the audit. |
{{ business_rating }} | The business’s numerical Google rating, such as 4.4. The surrounding /5 is ordinary text. |
{{ business_stars }} | The filled star symbols used to visualize the rating. |
{{ business_stars_empty }} | The remaining unfilled or muted star symbols. Keep this beside business_stars for the complete star display. |
{{ business_review_count }} | The business’s Google review count, such as 41. The word “reviews” is ordinary text. |
{{ gbp_score }} | The Google Business Profile optimization score shown by the audit. The template adds % after the value, such as 33%. |
{{ client_first_name }} | The recipient’s first name, used in the greeting. |
The Optimization Score summarizes the profile’s optimization assessment. It is different from the Google star rating and the Google Maps ranking shown later in the email.
The agency name is text. Keep the existing logo image setup when editing the header; changing {{ agency_name }} does not itself change an image.
Monthly Market Opportunity
This section estimates spending on that type of business within 30 minutes of the audited business.
| Field | Meaning |
|---|---|
{{ market_amount }} | The estimated total monthly market spending amount, such as $180,000. |
{{ market_customers }} | The estimated number of people who transact with that type of business each month, such as 1,200. |
{{ market_spend }} | The estimated amount spent per transaction, such as $150. |
Keep words such as “estimated” and “roughly” when rewriting this section. These figures describe the local market opportunity, not the audited business’s current revenue or guaranteed future sales.
Audit Results
The audit_checks list contains the Google Business Profile checks. The template repeats a result block for each item. Within that repeated block, check means the current item.
| Field or rule | Meaning |
|---|---|
audit_checks | The list of profile audit checks to display. |
check.is_pass | Whether the current check passed. The template uses this to choose the Pass or Fail section. |
{{ check.title }} | The check’s name, such as “Business Description” or “Review Frequency.” |
{{ check.description }} | The explanation of the result or improvement needed. |
{{ check.detail_label }} | A heading for supporting information, such as “Your current business description.” |
{{ check.detail }} | The supporting information itself, such as the business’s existing description or services. |
The first loop uses {% unless check.is_pass %} to show failed checks with their explanations and supporting details. The second uses {% if check.is_pass %} to show passed checks.
This puts failures before passes. In the supplied standard layout, passed profile checks show their titles without the longer explanation. Supporting details can vary by check.
Keep the Fail label with the failed-check rule and the Pass label with the passed-check rule.
Heatmap audits
A heatmap shows how the business ranks on Google Maps when the same keyword is searched from different locations. Each pin represents a search location.
The heatmaps list contains the keyword heatmaps. heatmaps.first means the first heatmap in that list; the supplied template describes this as the weakest keyword shown first.
| Field | Meaning |
|---|---|
{{ heatmaps.first.spots }} | The number of search locations used for the first heatmap, such as 49. |
{{ heatmaps.first.keyword }} | The keyword used for the main heatmap, such as “mulch supplier.” |
{{ heatmaps.first.rank_label }} | The formatted average-ranking label for that keyword, such as #1. |
{{ heatmaps.first.growth }} | The potential customer-growth multiplier used in the ranking opportunity sentence. The surrounding x supplies the multiplier symbol. |
{{ heatmap.keyword }} | The keyword for the current item in the repeated “Your other keywords” section. |
{{ heatmap.rank_label }} | The formatted ranking label for that additional keyword. |
Keep the growth statement framed as potential opportunity rather than a guaranteed outcome.
Keep heatmap.keyword and heatmap.rank_label inside their existing repeated section. They refer to its current heatmap, while heatmaps.first refers directly to the first one.
The map pictures are image elements. Wording such as “Google Maps rankings for {{ heatmap.keyword }}” identifies a map; the keyword tag alone does not generate the image. Preserve the existing dynamic image sources when adjusting the layout.
Top Competitors
The {% for competitor in competitors %} rule repeats the competitor block for each business in the competitors list.
| Field | Meaning |
|---|---|
{{ forloop.index }} | The current item’s position in the list, starting at 1. With the preceding #, it labels entries #1, #2, and so on. |
{{ competitor.name }} | The competitor’s business name. |
{{ competitor.address }} | The competitor’s address. |
{{ competitor.rating }} | The competitor’s numerical Google rating. |
{{ competitor.stars }} | Filled stars for the competitor’s rating display. |
{{ competitor.stars_empty }} | The remaining unfilled or muted stars. |
{{ competitor.review_count }} | The competitor’s Google review count, shown in parentheses in the template. |
The number produced by forloop.index is a list position; it does not independently establish a Google Maps ranking. Keep the competitor. fields inside the competitor loop so each entry uses the correct business’s information.
AI Visibility
This section reports whether the business was found in the AI results for the audited search. LLM means “large language model,” the type of AI used by tools such as ChatGPT.
| Field or rule | Meaning |
|---|---|
{{ ai_search_term }} | The search phrase used in the AI visibility audit. |
ai_visibility | The list of AI model results. |
model.is_found | Whether the business was found for the current model and audited search. |
{{ model.name }} | The model or service name, such as ChatGPT, Gemini, or Perplexity. |
{{ model.status }} | The result label supplied by the audit, such as “Not found.” |
The first loop uses {% if model.is_found %} to show models where the business was found. The second uses {% unless model.is_found %} to show the remaining models.
Keep both groups to show the full set of results. A “Not found” result describes that audited search, not every possible question someone could ask the model.
Website Audit
This section includes a conditional message when the homepage cannot be analyzed, followed by any available website checks.
| Field or rule | Meaning |
|---|---|
website_scan_failed | Indicates that the website scan failed. The {% if website_scan_failed %} block controls the warning message. |
website_checks | The list of website audit checks. |
website_checks.size | The number of checks in that list. |
{% if website_checks.size > 0 %} | Shows the introductory website-audit sentence only when at least one check is available. |
check.is_pass | Whether the current website check passed. |
{{ check.title }} | The website check’s name, such as “H1,” “Page Title,” “Meta Description,” or “Structured Schema Markup.” |
{{ check.description }} | The explanation of that website check’s result. |
Here, check refers to a website check because it is inside a loop over website_checks. In Audit Results, the same field names refer to profile checks.
The website loops display failed checks first and passed checks afterward. Both groups include descriptions in this template.
If you rewrite the scan-failure message, keep the cause qualified. A failed scan means the tool could not analyze the homepage; it does not prove that every AI service is blocked. For example:
We couldn’t analyze your homepage. Your website may be unavailable or blocking automated access, which could also affect some AI tools.
Audit Summary
The summary uses:
{{ gbp_improvement_ideas | newline_to_br }}
| Part | Meaning |
|---|---|
gbp_improvement_ideas | The audit’s generated improvement recommendations and summary. |
| | Applies a formatting instruction to the value before it appears. |
newline_to_br | Converts line breaks in the summary into HTML line breaks so the email preserves them. |
Keep the complete expression when moving or restyling the summary. You can edit the Audit Summary heading and surrounding wording without replacing the personalized recommendations.
Customize buttons and the closing message
| Text in the template | Purpose | Editing guidance |
|---|---|---|
| “Get In Touch” | Invites the reader to contact your agency. | Change the label to fit the intended next step, such as “Book a consultation,” and check that the existing destination matches that wording. |
| “View full report,” “See every heatmap in your full report,” and “View your full report” | Open the full audit report. | Preserve the existing report link so it continues to point to the relevant audit. |
| “Want us to fix all of this for you?” | Introduces your agency’s offer. | Describe services you actually provide. Keep {{ agency_name }} and {{ business_name }} for personalization. |
Changing a button’s visible label does not change its destination. Review its link settings separately, and preserve the dynamic report links rather than pasting the URL of one business’s report.
The ✦, ›, and ↑ symbols are decorative characters, not merge tags. You can change them along with the surrounding text.
Understand the repeat and display rules
You do not need to write these rules to change the email’s wording. This reference explains why they should stay intact.
| Syntax | Plain-English meaning |
|---|---|
{% for check in audit_checks %} | Repeat the enclosed content for each profile check. |
{% for competitor in competitors %} | Repeat it for each competitor. |
{% for model in ai_visibility %} | Repeat it for each AI model result. |
{% for check in website_checks %} | Repeat it for each website check. |
{% endfor %} | End the current repeated section. |
{% if check.is_pass %} | Show the enclosed content when the check passed. |
{% unless check.is_pass %} | Show the enclosed content when the check did not pass. |
{% if model.is_found %} | Show the enclosed content when the business was found. |
{% unless model.is_found %} | Show the enclosed content when the business was not found. |
{% if website_scan_failed %} | Show the enclosed content when the website scan failed. |
{% if website_checks.size > 0 %} | Show the enclosed content when the website-check list is not empty. |
{% endif %} | End an if section. |
{% endunless %} | End an unless section. |
Opening and closing rules must stay paired and in order. For example:
{% for check in audit_checks %}
{% unless check.is_pass %}
Fail: {{ check.title }}
{{ check.description }}
{% endunless %}
{% endfor %}
This simplified example shows the structure of a failed-check section. Keep your existing designed blocks when customizing the actual email.
Moving a field such as {{ check.title }} outside its loop removes the context that identifies which result it belongs to. Deleting only an opening or closing rule can also stop a section from rendering correctly.
Troubleshoot your customized template
| What you notice | What to check |
|---|---|
| A generated email shows raw tags or missing values. | Check for changed field names, missing braces, unsupported tags, or fields moved outside their original loops. Use this template’s existing tags or its Merge Tags menu. |
| Results are missing, duplicated, or under the wrong label. | Check that each loop appears where intended and that its Pass, Fail, or AI-status condition remains paired with the correct ending. An empty results list has no items to repeat. |
| A button opens the wrong page or every email opens the same audit. | Check the underlying link. Preserve the original dynamic report link instead of a copied URL from one completed report. |
| The summary loses its line breaks. | Check that the full {{ gbp_improvement_ideas | newline_to_br }} expression is still present. |
| Your edits do not appear. | Make sure you saved the correct template before leaving the editor. Preview test data should not be mistaken for a specific business’s audit results. |
Request the latest standard template
If you accidentally break your template—or you want to replace your custom version with our latest standard GBP Audit Tool Report email template—ask our support team to update it for you.
You can send:
Please update my GBP Audit Tool Report email template to your latest standard template.
Keep a copy of any custom wording you want to reuse before requesting the replacement.
Need a hand? Reach out through live chat, and we’ll help you with the next step.
Didn't find what you needed?
Tell us what's missing or unclear and we'll improve this article.
Still need help?
Our team is available to help you with any questions about your local SEO setup. Just log in to Paige and start a live chat.
