GA4 campaign and session campaign data Joining question

jakebutterfield
edited May 2023 in Magic ETL

I have a unique question… some context:

I have a dataset from the Google Analytics 4 connector that has 5 columns that I am grouping by with one of those group by columns being the 'campaign' dimension. The other dataset in the join has 4 of the same columns but the fifth one is a 'session campaign'. The two datasets are different in the fact that one has 14 columns that sum the different conversions for all the different iterations of the group by, and the other has these metrics: Pageviews, engaged sessions, conversions, total users, avg. session duration, and user conversion rate. The Group By 2 is the one with the metrics, Join Data 2 is the one with 14 conversions.

Does anyone have any idea if the session campaign being different from the campaign cause an issue with Joining? I am getting some missing data when I try to join the two. 78% of the values for campaign and all of my conversions form Join 2 dataset are null after the join in the Horizontal dataset. Any ideas on what might be causing so much of the datset to be null after the join?

One theory I have is that there are 110 unique values in the session campaign column while there are only 31 unique values in the campaign column. Maybe the nulls are happening because the 110 unique values outnumber the 31 so all it can do is populate null values where the 31 values don't have a similar string to join on simply because it can't? Am I thinking about ths right?

Tagged:

Best Answer

  • MichelleH
    MichelleH Coach
    Answer ✓

    @jakebutterfield You are correct that nulls are populating after the join because the right table has fewer unique values in the Campaign field than the Session Campaign field in the left table. Left joins return all rows from the table on the left, regardless of whether it matches any rows in the right table. If a match is not found, then the output columns from the right table will be null.

    I'm not familiar with Google Analytics data, but I would suggest reviewing your connector settings and upstream dataflows to make sure there are no other reasons why there are so fewer "Campaign" values than "Session Campaign"

Answers

  • I know Google's API is the limiting variable here, but I wish I was able to select more than 10 dimensions and 9 metrics using the connector. Additional question, does anyone know of any better ways to import GA4 data to Domo than the Google Analytics 4 connector?

  • MichelleH
    MichelleH Coach
    Answer ✓

    @jakebutterfield You are correct that nulls are populating after the join because the right table has fewer unique values in the Campaign field than the Session Campaign field in the left table. Left joins return all rows from the table on the left, regardless of whether it matches any rows in the right table. If a match is not found, then the output columns from the right table will be null.

    I'm not familiar with Google Analytics data, but I would suggest reviewing your connector settings and upstream dataflows to make sure there are no other reasons why there are so fewer "Campaign" values than "Session Campaign"