We have custom dimension define in Google Analytics Data API v1Beta for extracting data from Google Analytics GA4 account. I am trying to fetch purchaseRevenue and totalPurchasers metric with respect to date, sessionSource, Sessionmedium, campaignName, pagePath and eventName using python. I want to know what is the Purchasers for different eventName in different campaignName. I am getting correct purchaseRevenue but more Purchasers when i try to validate totalPurchasers data in ga4. Here is the code import pandas as pd import numpy as np from google.analytics.data_v1beta import BetaAnalyticsDataClient from google.analytics.data_v1beta.types import DateRange from google.analytics.data_v1beta.types import Dimension from google.analytics.data_v1beta.types import Metric from google.analytics.data_v1beta.types import RunReportRequest client = BetaAnalyticsDataClient() ## Format Report - run_report method def format_report(request): response = client.run_report(request) # Row index row_index_names = [header.name for header in response.dimension_headers] row_header = [] for i in range(len(row_index_names)): row_header.append([row.dimension_values.value for row in response.rows]) row_index_named = pd.MultiIndex.from_arrays(np.array(row_header), names = np.array(row_index_names)) # Row flat data metric_names = [header.name for header in response.metric_headers] data_values = [] for i in range(len(metric_names)): data_values.append([row.metric_values.value for row in response.rows]) output = pd.DataFrame(data = np.transpose(np.array(data_values, dtype = 'f')), index = row_index_named, columns = metric_names) return output request = RunReportRequest( property='properties/'+property_id, dimensions=[ Dimension(name="date"), Dimension(name="sessionSource"), Dimension(name="medium"), Dimension(name="campaignName"), Dimension(name="pagePath"), Dimension(name="eventName"), ], metrics=[ Metric(name="purchaseRevenue"), Metric(name="totalPurchasers") ], date_ranges=[DateRange(start_date="2023-02-01", end_date="2023-02-07")], ) Here is the data it is showing me through api df.totalPurchasers.sum() ``` 213.0 ```python df.purchaseRevenue.sum() ``` 13710.0 but in ga4 it is showing 191 purchasers but revenue is correct. [GA4](https://i.sstatic.net/SMBFY.png) Continue reading...