Performance Max Campaign Optimization

Performance Max (pMax) campaigns, are basically all forms of google advertising – lumped into one campaign.

Pmax does work really well, if you optimise it properly.

It is not keyword focused – it is audience focused.

You give it a CPA or ROAS target or goal, and basically let it run itself.

The downside of pMax, is that it does not give you much data. So it is difficult to really optimise campaigns to get the best out of them.

Pros and Cons of pMax Campaigns

Pros

It works!

It’s going to hit other channels, that most advertisers previously ignored.

Cons

No real insights

Limited control

Cannibalisation – it will take credit from your other campaigns – or show instead of them

Wasted spend – that you can’t identify

Can have wild swings in performance – make sure you have all tracking set up. It can still be hard to identify what goes wrong.

Takes a while to learn what performance best for your campaigns/company

URL extensions – can send users to irrelevant pages.

Does not tend to work well for Lead-Gen.

pMax Impact on Other Campaigns

You can run search campaigns, alongside pMax campaigns. Pmax will tend to get shown over broad match keywords, whilst exact and phrase match keywords/ads – will come down to ad rank (apparently).

PMax takes priority over standard Shopping Ads campaigns.

Display, YouTube and Discovery ad campaigns, will show according to their Ad Rank – i.e. if they have a high Ad Rank, they are more likely to show instead of pMax ads.

pMax Terminology

Asset Groups –

Similar to Ad Groups, Asset Groups contain:

Assets – logos, images, headlines and descriptions for your ads

Listing Groups – Products pulled from your merchant feed. you can segment and split these out into separate groups.

Audience Signals – instead of keywords – in pMax you will use audience signals, to tell Google who to show your ads to. Your audience signal can include your own customer data (remarketing and customer match lists), or any custom segments you have created. 

They are no keywords in performance max.

How to Optimize pMax Campaigns

  • Optimise your product feed – this is the foundation of pMax success!

Ensure product titles are accurate, descriptions stand out, and images are clear and optimised for search. Try lifestyle images where possible – with someone using the product and A/B test against isolated product images.
Don’t rely on standard and default feed setup from Shopify and WordPress plugins – review and optimise.

https://growmyads.notion.site/Google-Ads-Shopping-Feed-Optimization-Cheat-Sheet-b1b6e0b7b25c45c992268c4c540cc6c7

Product Feed Optimisation Variables – Most Important!

  • Price 🔥🔥🔥🔥🔥
  • Title 🔥🔥🔥🔥🔥
  • GTIN 🔥🔥🔥
  • Image 🔥🔥
  • Description 🔥
  • Category 🔥

  • As you probably can’t change price too much, Title is a big one to focus on.
  • Make sure to check Merchant Center often and review your Diagnostics tab for any feed or product issues.
  • Make sure you don’t have loads of disapproved products!

Titles

Product title optimization is a powerful lever for boosting impressions and clicks. It’s the most crucial feed attribute under your control. Keyword placement is critical. Front-load your titles with the most important terms, as Google only processes the first 150 characters. Keep in mind that search results may truncate titles after just 30 characters.

GTIN

If you have a GTIN – add it! ask your manufacturer for it, or visit GS1.org
Google has put a huge emphasis on having a GTIN in your product feeds, so if you have it – add it!

Image

A/B test images for your top products. Make them stand out somehow.

Description

Make your descriptions high quality and make sure they have keywords in them

Category

Add the most relevant category, or Google will auto-apply one.

Understanding Customer Search Behavior

When crafting titles, consider:

  • Do customers prioritize brand names in their searches?
  • Are model or part numbers commonly used?
  • How often do searchers use product types or categories?

Analyze your Search Query Reports to identify top-converting keywords for each product. Incorporate these high-performing terms into your titles to maximize relevance and appeal

Gender is often an important keyword element.

Required feed attributes

  • id (Unique identifier for each product)
  • title (Product title)
  • description (Product description)
  • price (Product price)
  • availability (Product availability)
  • link (Product URL)
  • image_link (Product image URL)
  • brand (Product brand)
  • gtin (Global Trade Item Number)

Optional feed attributes

  • product_type (Product type)
  • mpn (Manufacturer Part Number) [Recommended]
  • google_product_category (Google product category) [Recommended]
  • availability (Product availability)
  • color (Product color)
  • size (Product size)
  • weight (Product weight)
  • shipping (Product shipping)
  • condition (Product condition)
  • age_group (Product age group)
  • gender (Product gender)
  • material (Product material)
  • pattern (Product pattern)
  • occasion (Product occasion)
  • scent (Product scent)
  • features (Product features)
  • custom_label (0-4) (Custom attributes) [Recommended]

  • You need to be spending at least $50 a day on pMax – otherwise stick with standard shopping campaigns
  • You need correct conversion tracking – Use the Google Ads Purchase tag, not GA4 tracking. You can set up enhanced conversion on the Google Ads.
  • Feed pMax ONLY purchase data. Don’t give it conversions like Add to Cart – or it will go and get a load of clicks optimised for people who only Add to Cart, but don’t necessarily purchase.
  • Don’t go to granular – less is more, as you’ll get more data
  • You need 50+ conversions per month, for a pMax to work well. If you have 10 campaigns, with 5 conversions each, consider consolidating them to get better data.

When you have lots of data and your pMax campaign is running effficiently and hitting ROAS or CPA goals, then consider segmenting one campaigns, into several smaller campaigns.

For example, you could segemnt by:

  • Best sellers in one campaign, low performers in another
  • Seasonality
  • New products vs old
  • Products getting 0 conversions – put them in their own campaign to try and optimise

Here’s a way to structure your pMax campaigns in the beginning – if you have enough budget to spend $50 per day on each campaign, and to get at least 50 purcahses per campaign –

  • Best Sellers
    (Mid/low products excluded)
  • Mid/Low Performers
    (Best sellers excluded)
  • 0 purchase products – exclude best sellers and mid/low performers.
  • Catch-All Standard Shopping Campaign

If you don’t have a $50 a day budget, then just have 1 pMax best sellers campaign, and have all of your mid/low selling products in the Catch-All shopping campaign.

If you have a massive budget,
you can split out the best sellers, mid/low performers and 0 product categories into brand or categories. For example, you could have:

Football Goals – Best sellers, Mid/low performers/0 purchase products/standard shopping
Football training equipment – Best sellers, mid/low performers/0 purchase products/standard shopping

Maintaining Your Campaigns

Move any top performing products in your mid/low performers into the best sellers, move any poorly performing products into the standard shopping campaign, where you can have more control over them.

Asset Group Structures

Feed only – Google will take all the information from just your data feed. This type of campaigns won’t show on display on video/Youtube. Some people do this and then run separate YouTube and Display campaigns. Or some people do this, because they don’t have any decent images!

All Assets Group – Add in images etc. Asset groups need to be split by brands and/or product categories.

Asset group are a bit like Ad Groups. Keep them specific and have multiple asset groups within a campaign.

  • Dont split test asset groups by audience signals!

How to set up Audience Signals

You would do this inside of your asset group – gind the signals section and Search Themes

Add top search terms to “Search Themes”

Add in customer Lists from your own data:

THe bottom ‘box’ allows you to add demographics and in market audiences. So sleect any that are directly relevant. For example, you could select a market audience for sofas – if you are selling sofas!

How to Set up Feed Only Asset Groups

  • Click the + in the blue circle
  • Click “Create new asset group”
  • Skip everything but make sure your products are set up:

make sure “All products” are selected in the Listing groups section (shown above)

Don’t give the asset group any headline or anything – no images etc.

Name the asset group – “feed only”

Add audience signals (if you want to)

click “save”

  • Sometimes this will give you an error. If this happens
  • Go to an existing asset group – click the 3 vertical dots on the right – duplicate asset group
  • Delete all the headlines – final URLs etc, delete images
  • Leave business name

Setting up a Full PMax Campaign

In campaigns

  • Hit the blue circle with the + icon within it
  • select – Create a campaign without a goal guidance
  • select campaign type –> Performance Max
  • select “purchases” for conversion goals
  • link to merchant centre
  • give URL for landing page
  • Name

Bidding

stick to conversion value – get data and volume first before setting a target

for most cases – untick the Customer acquisition section:

only in specific cases, do people normally turn on customer acquisition.

Locations – choose location you want – you need to go back and edit this again when the campaign is set up – Google won’t let you edit all teh advanced location settings at this point though!

Languages – English

Automatically Created assets – if you want to be conservative, turn this off. If you leave this on, Google will create new assets and send users to different pages on your website that it thinks will enhance conversions.

Brand exclusions

If you want to exclude your brand terms from the campaign. Add a brand exclusion. If you do exclude your brand terms, then make sure you have at least 1 shopping campaign to capture brand search terms.

Asset Generation

AI can generate assets like headlines and images for you – but it will be generic and pretty bad a lot of the time.

Listing Groups – this is your products.

Images – Add Images if you have some – or let Google crawl your website.

Logos – add logos

Business Name – add your business name!

Video – add a video – Google’s auto-generated ones are pretty bad at the moment.

Add sitelink extensions and Call-outs

Add USPs as Callouts

search themes – are similar to keywords, but think of them as more general. Please see video above for more info!

Here’s a better explanation on Grow my Ads’ blog

  • Budget – give the campaign a budget. Less than $50 and you prob won’t have enough data to optimise much.

  • Go back to Campaign Setting – Locations – location options:

Campaign Structure

Arguably, the biggest and most important factor in pMax campaigns. See above about setting up the structure with best-sellers etc

You might want to install Mike Rhoades’ script to track your ad spend at this point – https://mikerhodes.circle.so/c/free-scripts/installing-the-pmax-script

Insights

Look into asset reports, and pause badly performing assets.

Create more, assets that are likely to perform well based on the current data. For example, if your best performing image has a picture of someone using the product – get more images of people using the product.

Final URL expansion

If you want full control – turn this off. However, you can get better results. This lets Google send users to other landing pages on your site, and it can change the ad text.

Remember to exclude URLs you don’t want people sent to.

Negative Keywords pMax

At the time of writing, there is a work around to add negative keywords to pMax campaigns:

  • Add a shared library keyword list with negative keywords
  • contact a Google rep and ask them to add it to your pmax campaign

Performance Max FAQs

What are the pMax image specifications?

Google sets them out here.

How do I optimise a pMax campaign?

Pros and Cons – Pmax versus Search Campaign?

Images in XML Sitemap – Can you include them?

The answer, according to John Mueller, is yes – but you want to keep the main domain of your website in the sitemap, not a CDN.

Sounds like you can host them on a CDN, but you’ll want a redirect set up from your main domain for the sitemap.xml

SaleEvent Schema Example [2024]

Here’s an example for Black Friday:

It’s JSON format

{
  "@context": "http://schema.org",
  "@type": "SaleEvent",
  "name": "Black Friday Mega Sale",
  "startDate": "2024-11-29T00:00:00",
  "endDate": "2024-11-29T23:59:59",
  "eventAttendanceMode": "http://schema.org/OnlineEventAttendanceMode",
  "location": {
    "@type": "VirtualLocation",
    "url": "https://www.yourstore.com/black-friday-sale"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://www.yourstore.com/black-friday-sale",
    "priceCurrency": "USD",
    "price": "199.99",
    "eligibleRegion": {
      "@type": "Place",
      "name": "United States"
    },
    "availability": "http://schema.org/InStock",
    "validFrom": "2024-11-29T00:00:00"
  },
  "organizer": {
    "@type": "Organization",
    "name": "Your Store",
    "url": "https://www.yourstore.com"
  }
}

It’s listed as schema type recongised by Google, and it shows on SERPs

saleevent

Source

Business Audience Schema Example [2024]



{
  "@context": "https://schema.org",
  "@type": "WebPage",
  "mainEntity": {
    "@type": "BusinessAudience",
    "audienceType": "Consumers",
    "description": "Middle-class residents of the United Kingdom interested in purchasing t-shirts.",
    "geographicArea": {
      "@type": "AdministrativeArea",
      "name": "United Kingdom"
    },
    "hasOfferCatalog": {
      "@type": "OfferCatalog",
      "name": "T-Shirts",
      "itemListElement": [
        {
          "@type": "Offer",
          "itemOffered": {
            "@type": "Product",
            "name": "T-Shirt"
          }
        }
      ]
    },
    "additionalType": "https://schema.org/Commerce",
    "audience": {
      "@type": "Audience",
      "audienceType": "Middle-class",
      "description": "Individuals with average to above-average income levels"
    }
  }
}

Here’s business Audience schema for a B2B business:

{
  "@context": "https://schema.org",
  "@type": "BusinessAudience",
  "audienceType": "Business",
  "numberOfEmployees": {
    "@type": "QuantitativeValue",
    "minValue": 50,
    "maxValue": 500
  },
  "yearlyRevenue": {
    "@type": "QuantitativeValue",
    "minValue": 1000000,
    "maxValue": 10000000
  },
  "geographicArea": {
    "@type": "AdministrativeArea",
    "name": "United States"
  }
}

Implementing Redirects with Filezilla and MTPutty (On a sonasi server)

This is our inhouse protocol, it might differ in normal places…

Open FileZilla – connect to M2 server (magento 2, rather than our magento 1 server)

Click domains folder –

Select relevant domain

Select Rewrites

Right Click – Config folder and click View/Edit – Open in a text editor like Sublime

Add redirects in the following format:

#Note to say who did redirects on what date

rewrite ^/rwl-x-la-new-member-starter-pack.html$ /gym-equipment.html permanent;
rewrite ^/rwl-x-la-ultimate-starter-pack-intermediate.html$ /gym-equipment.html permanent;
rewrite ^/rwl-x-la-new-member-dumbbell-pack.html$ /gym-equipment.html permanent;

- Save the file

This will redirect the URL example.com/rwl-x-la-new-member-starter-pack.html to example.com/gym-equipment.html

and so on…the other 2 below will also redirect to gym-equipment.html

Open MTPUTTY

Connect to relevant server – in my case – server 3

type in “ntest” and check for any error messages

if ok – type in “nreload”

That should be it!

How to Buy a House in Italy for 1 Euro [step by step guide]

Depopulation, has some potential benefits for property investors!

Buying a house in Italy for 1 euro is a great opportunity, promoted by several towns aiming to revive declining populations and renovate old properties.

Here’s a step-by-step guide tailored for a UK resident:

Step-by-Step Instructions:

Research and Choose a Town: Several Italian towns have offered homes for 1 euro. Each town has different terms and conditions. Here are some notable ones:

  • Sambuca di Sicilia
  • Ollolai, Sardinia
  • Mussomeli, Sicily
  • Bivona, Sicily
  • Laurenzana, Basilicata

    Visit the Official Websites: Each town usually has an official website or a dedicated page for the 1 euro house initiative. Here are some URLs:

      Understand the Conditions: Each town has specific conditions that buyers must meet, such as:

      • Committing to renovate the property within a specified timeframe (usually 3 years).
      • Paying a deposit (often around €5,000), which is refunded after renovations are completed.
      • Using local contractors for the renovation work.

        Contact the Municipality: Send an email or call the municipal office to express your interest and get detailed information.

          Plan a Visit: It’s highly recommended to visit the town and view the properties. Contact the municipality to arrange a visit.

            Prepare Your Documents:

            • Passport
            • Proof of income
            • Proof of funds for renovation

              Sign the Preliminary Agreement: During your visit, if you decide to proceed, you will sign a preliminary purchase agreement (compromesso).

                Open an Italian Bank Account: You will need an Italian bank account to handle transactions and utility payments. Many banks offer services in English.

                  Hire a Local Notary (Notaio): The notary will handle the legal aspects of the purchase, ensuring the property is free from debts and encumbrances.

                    Finalize the Purchase: After the preliminary agreement, you will sign the final deed (atto di vendita) before a notary. This completes the purchase.

                      Commence Renovation: Begin renovation work as per the conditions. Ensure you adhere to local building codes and regulations.

                        1. Enjoy Your New Home: Once renovations are complete, you can enjoy your new Italian home!

                        Useful Resources:

                        This is a general guide, so make sure to get detailed information from the specific municipality you’re interested in. Good luck with your house hunt in Italy!

                        eCommerce Structured Data

                        E-commerce Example for Structured Data Carousels

                        Below are step by step instructions

                        You will need:

                        • A “summary” or “Product Listings Page” with structured data
                        • Structured data on the product pages themselves

                        At the time of writing, this feature is only available in EU countries.

                        Step 1: Choose and Implement a Summary Page

                        Create a summary page that lists multiple products, each linking to a detailed product page.

                        For example, a category page that lists “Top 5 Winter Coats.”

                        Step 2: Add Required Properties to the Summary Page

                        Add the ItemList structured data to your summary page. Here’s an example in JSON-LD format:

                        <html>
                          <head>
                            <title>Top 5 Winter Coats</title>
                            <script type="application/ld+json">
                              {
                                "@context": "https://schema.org",
                                "@type": "ItemList",
                                "itemListElement": [
                                  {
                                    "@type": "ListItem",
                                    "position": 1,
                                    "item": {
                                      "@type": "Product",
                                      "name": "Puffy Coat Series by Goat Coat",
                                      "image": [
                                        "https://example.com/photos/1x1/photo.jpg",
                                        "https://example.com/photos/4x3/photo.jpg",
                                        "https://example.com/photos/16x9/photo.jpg"
                                      ],
                                      "offers": {
                                        "@type": "AggregateOffer",
                                        "lowPrice": 45.00,
                                        "highPrice": 60.00,
                                        "priceCurrency": "USD"
                                      },
                                      "aggregateRating": {
                                        "@type": "AggregateRating",
                                        "ratingValue": 4.9,
                                        "reviewCount": 50
                                      },
                                      "url": "https://www.example.com/puffy-coats"
                                    }
                                  },
                                  {
                                    "@type": "ListItem",
                                    "position": 2,
                                    "item": {
                                      "@type": "Product",
                                      "name": "Wool Coat Series by Best Coats Around",
                                      "image": [
                                        "https://example.com/photos/1x1/photo.jpg",
                                        "https://example.com/photos/4x3/photo.jpg",
                                        "https://example.com/photos/16x9/photo.jpg"
                                      ],
                                      "offers": {
                                        "@type": "AggregateOffer",
                                        "lowPrice": 189.00,
                                        "highPrice": 200.00,
                                        "priceCurrency": "USD"
                                      },
                                      "aggregateRating": {
                                        "@type": "AggregateRating",
                                        "ratingValue": 4.7,
                                        "reviewCount": 827
                                      },
                                      "url": "https://www.example.com/wool-coats"
                                    }
                                  },
                                  {
                                    "@type": "ListItem",
                                    "position": 3,
                                    "item": {
                                      "@type": "Product",
                                      "name": "Antarctic Coat by Cold Coats",
                                      "image": [
                                        "https://example.com/photos/1x1/photo.jpg",
                                        "https://example.com/photos/4x3/photo.jpg",
                                        "https://example.com/photos/16x9/photo.jpg"
                                      ],
                                      "offers": {
                                        "@type": "Offer",
                                        "price": 45.00,
                                        "priceCurrency": "USD"
                                      },
                                      "aggregateRating": {
                                        "@type": "AggregateRating",
                                        "ratingValue": 4.9,
                                        "reviewCount": 1290
                                      },
                                      "url": "https://www.example.com/antarctic-coat"
                                    }
                                  }
                                ]
                              }
                            </script>
                          </head>
                          <body>
                          </body>
                        </html>

                        Step 3: Validate Your Code

                        1. Rich Results Test: Validate your structured data using the Rich Results Test.
                        2. URL Inspection Tool: Use the URL Inspection tool in Google Search Console to ensure your page is accessible and not blocked by robots.txt or noindex tags.

                        Step 4: Deploy Your Page

                        1. Deploy your summary page and a few detail pages.
                        2. Use the URL Inspection tool to request indexing of your new pages.

                        Step 5: Submit a Sitemap

                        1. Create a sitemap including your summary and detail pages.
                        2. Submit the sitemap through Google Search Console to ensure Google knows about all your pages.

                        Step 6: Follow Guidelines

                        1. Ensure compliance with Search Essentials.
                        2. Adhere to general structured data guidelines and specific requirements for carousel rich results.

                        Example Detail Pages

                        Each product linked from the summary page should have its own detail page with structured data. For example:

                        <html>
                          <head>
                            <title>Puffy Coat Series by Goat Coat</title>
                            <script type="application/ld+json">
                              {
                                "@context": "https://schema.org",
                                "@type": "Product",
                                "name": "Puffy Coat Series by Goat Coat",
                                "image": [
                                  "https://example.com/photos/1x1/photo.jpg",
                                  "https://example.com/photos/4x3/photo.jpg",
                                  "https://example.com/photos/16x9/photo.jpg"
                                ],
                                "description": "A stylish and warm puffy coat perfect for winter.",
                                "offers": {
                                  "@type": "Offer",
                                  "price": 45.00,
                                  "priceCurrency": "USD",
                                  "url": "https://www.example.com/puffy-coats"
                                },
                                "aggregateRating": {
                                  "@type": "AggregateRating",
                                  "ratingValue": 4.9,
                                  "reviewCount": 50
                                }
                              }
                            </script>
                          </head>
                          <body>
                          </body>
                        </html>

                        That should be it!



                        Deleting White Space from Excel Cells

                        I had to use the VBA method at the bottom to remove whitespace from a Screaming Frog custom extraction:

                        Method 1: TRIM Function

                        The TRIM function removes all spaces from text except for single spaces between words.

                        1. Suppose your text is in cell A1.
                        2. In another cell, enter the following formula:excelCopy code=TRIM(A1)

                        Method 2: CLEAN and SUBSTITUTE Functions

                        If there are non-breaking spaces (which TRIM doesn’t remove), you can use the SUBSTITUTE function to replace them with regular spaces first.

                        1. In a cell, enter the following formula:excelCopy code=SUBSTITUTE(A1, CHAR(160), " ") This replaces non-breaking spaces with regular spaces.
                        2. Then, apply the TRIM function:excelCopy code=TRIM(SUBSTITUTE(A1, CHAR(160), " "))

                        Method 3: Find and Replace

                        You can also use the Find and Replace feature to remove extra spaces:

                        1. Select the range of cells you want to clean.
                        2. Press Ctrl + H to open the Find and Replace dialog box.
                        3. In the “Find what” box, enter two spaces (press the space bar twice).
                        4. In the “Replace with” box, enter one space.
                        5. Click “Replace All.”
                        6. Repeat the process until no double spaces are found.
                        7. For leading and trailing spaces, you can remove them manually by replacing leading spaces with nothing and trailing spaces similarly.

                        Method 4: VBA Macro

                        For more advanced cleaning, you can use a VBA macro:

                        1. Press Alt + F11 to open the VBA editor.
                        2. Insert a new module by clicking Insert > Module.
                        3. Copy and paste the following code into the module:

                        Sub RemoveSpaces()
                            Dim cell As Range
                            For Each cell In Selection
                                If cell.HasFormula = False Then
                                    cell.Value = Trim(WorksheetFunction.Clean(cell.Value))
                                End If
                            Next cell
                        End Sub
                        

                        1. Close the VBA editor.
                        2. Select the range of cells you want to clean.
                        3. Press Alt + F8, select RemoveSpaces, and click Run.

                        By using these methods, you can efficiently remove unwanted whitespace from your cells in Excel.

                        Categorising Data – By Colour – In Excel (Using an IF statement)

                        Had to categorise some keywords, if there’s a quicker way of doing it – please let me know

                        • Paste keywords into column A
                        • In column D – Paste all relevant words for a category.
                          For example – I pasted all the words I could think of relating to gardening – such as “tree”, “fruit”, “garden”, “bush”, etc. – There were 18 words in total
                        • In cell E2 paste the formula:
                        =IF(SUMPRODUCT(--ISNUMBER(SEARCH($D$1:$D$19,A2)))>0, "Contains value from range", "Does not contain value from range")
                        • Now drag the formula down
                        • Filter column E to “contains value for range”
                        • Colour in the keywords green – or a chosen, relevant colour
                        excel conditional formatting with If Statement

                        Add another list of relevant words – for example, above I have added sports, to highlight sports netting keywords.

                        Drag formula down and repeat

                        I found a quicker way – use Chat GPT and the prompt:

                        “please can you group these keywords by theme or words containing – e.g. keywords containing “golf”.

                        Please include the search volume.

                        The list is set out with a keyword – then a comma, – then the search volume for the keyword, – then a second comma – before the next keyword is listed

                        funny polo shirts , 170 ,
                        funny polo shirt , 30 ,

                        replace “funny polo shirts” with a list of your own keywords.