Google AdWords
ON THIS PAGE
Hevo can replicate your Google AdWords’ data to your data warehouse using Google’s AdWords API.
Note: For Pipelines created with this Source, Hevo provides you a fully-managed BigQuery data warehouse Destination if you do not already have one set up. You are only charged the cost that Hevo incurs for your project in Google BigQuery. The invoice is generated at the end of each month and payment is recovered as per the payment instrument you have set up. You can now create your Pipeline and directly start analyzing your Source data. Read Hevo Managed Google BigQuery.
Prerequisites
-
Hevo has access to your Google AdWords account(s).
Hevo needs
view
permissions on your Google AdWords account to pull campaign and reports data. Hevo does not make any change to the Google AdWords account, soread-only
permissions are sufficient. You can read more about these permissions here.
Configuring Google Adwords as a Source
Perform the following steps to configure Google Adwords as the Source in your Pipeline:
-
Click PIPELINES in the Asset Palette.
-
Click + CREATE in the Pipelines List View.
-
In the Select Source Type page, select Google Ads.
-
In the Configure your Google Ads page, click + ADD GOOGLE ADS ACCOUNT.
-
Select your linked Google account and click Allow in the Sign in with Google page to allow Hevo to read your ad data.
- Pipeline Name: A unique name for the Pipeline.
- Select Objects & Reports: The objects and reports which need to be replicated. By default, all objects and report data is replicated.
- Select Accounts: The accounts for which objects and reports need to be replicated.
-
Click TEST & CONTINUE.
-
Proceed to configuring the data ingestion and setting up the Destination.
Data Replication
-
Historical Data: On the initial setup, Hevo replicates the objects data once and the reports data for the last one year.
-
Incremental Data: Objects are synced up once on a daily basis. The reports are synced up on an hourly basis. Since Google reports do not provide data at hourly granularity, Hevo fetches the current day’s data and performs upserts on the Destination.
Reports sync frequency can be adjusted by changing the Pipeline’s scheduled frequency.
Note: Hevo does not fetch data for zero impressions.
-
Data Refresh: For each report, data for the last two days is ingested by default to ensure that your data is up to date and any data freshness issues at Google’s end are overcome.
Read more about data freshness.
As of Release 1.45, you can increase the default duration for fetching data from two days to a maximum of 35 days by contacting Hevo Support.
Schema and Primary Keys
Objects Primary Key
Object | Primary Key |
---|---|
ACCOUNTS | CustomerId |
ADS | AdGroupId, Id, CustomerId |
AD_GROUPS | Id, CustomerId |
CAMPAIGNS | Id, CustomerId |
Reports Primary Key
Report | Primary Key |
---|---|
KEYWORDS_PERFORMANCE_REPORT | AdGroupId, Id, Date, ExternalCustomerId |
AD_PERFORMANCE_REPORT | AdGroupId, Id, Date, ExternalCustomerId |
URL_PERFORMANCE_REPORT | Url, CriteriaParameters, Date, ExternalCustomerId |
ADGROUP_PERFORMANCE_REPORT | AdGroupId, Date, ExternalCustomerId |
CAMPAIGN_PERFORMANCE_REPORT | CampaignId, Date, ExternalCustomerId |
ACCOUNT_PERFORMANCE_REPORT | AccountDescriptiveName, Date, ExternalCustomerId |
GEO_PERFORMANCE_REPORT | CampaignId, MostSpecificCriteriaId, Date, ExternalCustomerId |
SEARCH_QUERY_PERFORMANCE_REPORT | Query, Date, ExternalCustomerId |
AUTOMATIC_PLACEMENTS_PERFORMANCE_REPORT | Domain, Date, ExternalCustomerId |
CAMPAIGN_NEGATIVE_KEYWORDS_PERFORMANCE_REPORT | Campaign Id, Id, Date, ExternalCustomerId |
CAMPAIGN_NEGATIVE_PLACEMENTS_PERFORMANCE_REPORT | Campaign Id, Id, Date, ExternalCustomerId |
SHARED_SET_REPORT | SharedSetId, Date, ExternalCustomerId |
CAMPAIGN_SHARED_SET_REPORT | CampaignId, SharedSetId, Date, ExternalCustomerId |
SHARED_SET_CRITERIA_REPORT | SharedSetId, Id, Date, ExternalCustomerId |
CREATIVE_CONVERSION_REPORT | CriterionId, AdGroupId, Date, ExternalCustomerId |
CALL_METRICS_CALL_DETAILS_REPORT | AdGroupId, ExternalCustomerId, CallStartTime, Date |
KEYWORDLESS_QUERY_REPORT | CriterionId, Date, ExternalCustomerId |
KEYWORDLESS_CATEGORY_REPORT | Category0, Category1, Category2, Date, ExternalCustomerId |
CRITERIA_PERFORMANCE_REPORT | AdGroupId, Id, Date, ExternalCustomerId |
CLICK_PERFORMANCE_REPORT | GclId, Date, ExternalCustomerId |
BUDGET_PERFORMANCE_REPORT | BudgetId, Date, ExternalCustomerId |
BID_GOAL_PERFORMANCE_REPORT | Id, Date, ExternalCustomerId |
DISPLAY_KEYWORD_PERFORMANCE_REPORT | AdGroupId, Id, Date, ExternalCustomerId |
PLACEHOLDER_FEED_ITEM_REPORT | AdGroupId, AdId, FeedId, FeedItemId, Date, ExternalCustomerId |
PLACEMENT_PERFORMANCE_REPORT | Id, Date, ExternalCustomerId |
CAMPAIGN_NEGATIVE_LOCATIONS_REPORT | Campaign Id, Id, Date, ExternalCustomerId |
GENDER_PERFORMANCE_REPORT | Id, Date, ExternalCustomerId |
AGE_RANGE_PERFORMANCE_REPORT | Id, Date, ExternalCustomerId |
CAMPAIGN_LOCATION_TARGET_REPORT | Id, Date, ExternalCustomerId |
CAMPAIGN_AD_SCHEDULE_TARGET_REPORT | Id, Date, ExternalCustomerId |
PAID_ORGANIC_QUERY_REPORT | AdGroupId, CampaignId, KeywordId, Date, ExternalCustomerId |
AUDIENCE_PERFORMANCE_REPORT | Id, Date, ExternalCustomerId |
DISPLAY_TOPICS_PERFORMANCE_REPORT | Id, Date, ExternalCustomerId |
USER_AD_DISTANCE_REPORT | CampaignId, DistanceBucket, Date, ExternalCustomerId |
SHOPPING_PERFORMANCE_REPORT | OfferId, Date, ExternalCustomerId |
PRODUCT_PARTITION_REPORT | Id, Date, ExternalCustomerId |
PARENTAL_STATUS_PERFORMANCE_REPORT | Id, Date, ExternalCustomerId |
PLACEHOLDER_REPORT | AdGroupId, ExtensionPlaceholderCreativeId, Date, ExternalCustomerId |
AD_CUSTOMIZERS_FEED_ITEM_REPORT | FeedItemId, Date, ExternalCustomerId |
LABEL_REPORT | LabelId, Date, ExternalCustomerId |
FINAL_URL_REPORT | EffectiveFinalUrl, Date, ExternalCustomerId |
VIDEO_PERFORMANCE_REPORT | AdGroupId, CampaignId, CreativeId, VideoChannelId, VideoId, Date, ExternalCustomerId |
TOP_CONTENT_PERFORMANCE_REPORT | AdGroupId, Id, Date, ExternalCustomerId |
CAMPAIGN_CRITERIA_REPORT | CampaignId, Id, Date, ExternalCustomerId |
CAMPAIGN_GROUP_PERFORMANCE_REPORT | Id, Date, ExternalCustomerId |
LANDING_PAGE_REPORT | UnexpandedFinalUrlString, Date, ExternalCustomerId |
MARKETPLACE_PERFORMANCE_REPORT | CampaignId, AdGroupId, Date, ExternalCustomerId |
Schema Mapping Considerations
-
In Release 1.45, the data type of the
__hevo_report_date
field is changed to timestamp from the earlier type of long to make it easier to query by. This change is applicable for all new Pipelines created from Release 1.45 onwards. -
Object Metadata: Hevo attaches the following fields to all the object data pulled from Google APIs:
__hevo_report_date
: represents the date on which the data was pulled by Hevo.__hevo_id
: represents a unique id of Source data. Hevo derives this by hashing Source data’s primary key columns.
-
Reports Metadata: Hevo attaches the following fields to all the report data pulled from Google APIs:
__hevo_report_date
: represents the date for which the data was pulled by Hevo-
__hevo_id
: represents a unique id of Source data. Hevo derives this by hashing Source data’s primary key columns along withdate
andcustomer-id
.Example: For KEYWORDS_PERFORMANCE_REPORT, __hevo_id is generated using AdGroupId, Id, __hevo_report_date, and ExternalCustomerId. Doing so, Hevo ensures that if another record gets replicated with the same AdGroupId, Id, ExternalCustomerId, and __hevo_report_date, it will be considered as an update to the Destination table.
-
There are few metrics for which the values can be of different data types. For those metrics, another meta column is added to the Destination with the additional details.
Example: if the value of the metric cost is auto:1000, Hevo would create 2 columns:
cost
andcost meta
with values 1000 and “auto:” respectively.For the following values of an attribute, Hevo will create two columns, one with queryable value and another with the meta-information:
Actual Value Queryable Value Meta Information 10% 10 % <10% 10 <% >10% 10 >% auto:x x auto: auto null auto 10,000.5 10000.5 , -
MySQL/Postgres Destination: In case of
Account
,AdGroups
,Ads
, andAd Campaigns
objects, if the table or column name exceeds 64 characters (max limit for MySQL and Postgres), then Hevo maps them to shortened name. See below for shortened names mapping.
Shortened Object Names for MySQL/Postgres Destinations
Attribute Name | Compressed Name |
---|---|
conversionoptimizereligibility | coe |
adservingoptimizationstatus | aos |
advertisingchanneltype | adchantype |
advertisingchannelsubtype | adchansubtype |
biddingstrategyconfiguration | bsc |
forwardCompatibilityMap | fwdcompmap |
urlCustomParameters | urlcusparam |
universalappcampaigninfo | univappcmpinfo |
selectiveOptimization | selopt |
targetgooglesearch | tgs |
targetsearchNetwork | tsn |
targetContentNetwork | tcn |
targetPartnerSearchNetwork | tpsn |
biddingstrategyid | bsid |
biddingStrategyName | bsnm |
biddingStrategyType | bstype |
biddingStrategySource | bssource |
biddingscheme | bidsch |
biddingschemetype | bidschtype |
vanityPharmaDisplayUrlMode | vanphmode |
vanityPharmaText | vanphtxt |
biddingstrategygoaltype | bsgoaltype |
contentBidCriterionTypeGroup | contbidcrittypegrp |
adGroupAdRotationMode | adgrprotmod |
adRotationMode | adrotmod |
systemManagedEntitySource | sysmgentso |
adStrengthInfo | asinfo |
policysummary | polsum |
policytopicentries | poltopentry |
policyTopicEntryType | poltopentrytype |
policytopicevidences | poltopevid |
policyTopicEvidenceType | poltopevidtype |
policyTopicEvidenceDestinationMismatchUrlTypes | poltopdestmisurltypes |
policytopicconstraints | poltopconst |
policyTopicConstraintType | poltopconsttype |
policytopichelpcenterurl | poltophelpurl |
denormalizedStatus | denstat |
combinedApprovalStatus | comapprstat |
constrainedcountries | conctries |
comparablevaluetype | cvt |
enhancedcpcenabled | enhcpcenabl |
dynamicsearchadssetting | dynset |
geotargettypesetting | geoset |
positivegeotargettype | posgeotype |
negativegeotargettype | neggeotype |
universalappcampaignsetting | univcampset |
mobileapplicationvendor | mobappvendor |
youtubevideomediaidsops | ytmediaidsops |
adspolicydecisions | adspoldec |
universalappcampaignadspolicydecisions | univappcamppoldec |
universalappCampaignasset | univappcampasset |
certificatedomainmismatchconstraint | certdomconst |
certificatemissingconstraint | certmissconst |
Data Model
Hevo provides support for replicating following objects and reports:
Objects
- Accounts
- Ad Campaigns
- Ad Groups
- Ads
Reports
- All (see Google AdWords Report Types for complete list)
Limitations
-
Hevo does not replicate the following attributes in reports
ProductTitle
StoreId
ConversionAdjustment
-
Of the three levels at which fields exist in Google AdWords, namely, Attributes, Segments, and Metrics, Hevo does not fetch the Segment details. As a workaround, you can use the Hevo-generated column,
__hevo_report_date
, to find analytics per day or for a range of dates.
See Also
-
Google Ads Official Documentation for reports, their attributes and metrics : [All reports AdWords API](https://developers.google.com/adwords/api/docs/appendix/reports/all-reports){:target=”_blank”}.