Hi Glenn,
Mick from Supermetrics here, Product Manager for our transformations features (Data Blending and Custom Fields). Thanks for a greatly detailed problem description! I have an idea of what is happening. Let’s see if this is correct.
The error you get is an error from Google complaining that we are trying to run a query to their API without any metrics and dimensions.
I assume your blend looks something like this:
| Blend | Meta Ads | Google Ads | ... | Google Analytics 4 |
|---|
| Impressions | Impressions | Impressions | ... | - |
|---|
| Website visits | - | - | ... | Visits |
|---|
| Project | Project | Project | ... | Project |
|---|
| ... | ... | ... | ... | ... |
|---|
Where the Impressions are mapped to each other for each Ad platform, but empty for GA4 as this metrics does not exist there, and same for the Visits metric that only exists in GA4, but not in Ad platforms. Is this correct?
So when you create a table with Impressions (Ad platforms) and Website visits (GA4) per Project, we will:
- Run a sub-query for each data source as such:
- Sub-query 1: Meta Ads Impressions by Campaign name (to extract the Project value), Visits will be skipped as it is not mapped in the blend
- Sub-query 2: Google Ads Impressions by Campaign name, Visits will be skipped
- …
- Sub-query 5: Google Analytics 4 Visits per Property (to extract the Project value), Impressions will be skipped as it is not mapped in the blend
- Return all rows in a single table
When you run create a card with Impressions only, we will:
- Run a sub-query for each data source as such:
- Sub-query 1: Meta Ads Impressions, Visits will be skipped as it is not mapped in the blend
- Sub-query 2: Google Ads Impressions, Visits will be skipped
- …
- Sub-query 5: There will be no query at all since there are no GA4 fields for this Blend field
- Aggregate everything in one number and show load it to the card
Now, when you add a filter for a specific Project to a card for Impressions only, we will
- Run a sub-query for each data source as such:
- Sub-query 1: Meta Ads Impressions by Campaign name (to extract the Project value and only return the data for the value in the filter), Visits will be skipped as it is not mapped in the blend
- Sub-query 2: Google Ads Impressions by Campaign name, Visits will be skipped
- …
- Sub-query 5: The only GA4 field for this query is Property
- But here’s the catch, Property is not a dimension in the Google API. Its value is populated by Supermetrics based on the metadata we get from the API. So basically we are trying to run a query to GA4 without any metric or dimension, and we get an error back. And the whole query fails.
We will need to do something on our end to prevent this to happen. In fact I’m pretty sure we have already covered that issue with the GA4 Property dimensions, but because you are using a custom field, we do not identify immediately that GA4 Property cannot be requested in this context.
In the meantime, I can recommend you to try to create another Blend field -- that you can call “Project (Ads only)” for example, with your custom field for each Ad platform, but nothing in the GA4 column. And use this new field for your filter. Then GA4 will be skipped and there will be no error. So something like that:
| Blend | Meta Ads | Google Ads | ... | Google Analytics 4 |
|---|
| Impressions | Impressions | Impressions | ... | - |
|---|
| Website visits | - | - | ... | Visits |
|---|
| Project | Project | Project | ... | Project |
|---|
| Project (Ad only) | Project | Project | ... | - |
|---|
Could you please try this and let me know if this works?
Best regards,
Mick