

# Reading from Google Ads entities
<a name="googleads-reading-from-entities"></a>

 **Prerequisites** 
+  A Google Ads Object you would like to read from. Refer the supported entities table below to check the available entities. 

 **Supported entities** 


| Entity | Can be Filtered | Supports Limit | Supports Order By | Supports Select \$1 | Supports Partitioning | 
| --- | --- | --- | --- | --- | --- | 
| Ad Group Ad | Yes | Yes | Yes | No | Yes | 
| Ad Group | Yes | Yes | Yes | No | Yes | 
| Campaign Budget | Yes | Yes | Yes | Yes | Yes | 
| Account Budget | Yes | No | Yes | Yes | No | 
| Campaign | Yes | Yes | Yes | Yes | Yes | 
| Account | Yes | No | Yes | No | No | 

 **Example** 

```
googleAds_read = glueContext.create_dynamic_frame.from_options(
    connection_type="googleads",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "campaign-3467***",
        "API_VERSION": "v16"
    }
```

 **Google Ads entity and field details** 


| Entity | Field | Data Type | Supported Operators | 
| --- | --- | --- | --- | 
| Account | resourceName | String | \$1=, = | 
| Account | callReportingEnabled | Boolean | \$1=, = | 
| Account | callConversionReportingEnabled | Boolean | \$1=, = | 
| Account | callConversionAction | String | \$1=, = | 
| Account | conversionTrackingId | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Account | crossAccountConversionTrackingId | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Account | payPerConversionEligibilityFailureReasons | List |  | 
| Account | id | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Account | currencyCode | String | \$1=, =, LIKE | 
| Account | timeZone | String | \$1=, =, LIKE | 
| Account | autoTaggingEnabled | Boolean | \$1=, = | 
| Account | hasPartnersBadge | Boolean | \$1=, = | 
| Account | manager | Boolean | \$1=, = | 
| Account | testAccount | Boolean | \$1=, = | 
| Account | date | Date | BETWEEN, =, <, >, <=, >= | 
| Account | costMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Account | acceptedCustomerDataTerms | Boolean |  | 
| Account | conversionTrackingStatus | String | \$1=, =, LIKE | 
| Account | enhancedConversionsForLeadsEnabled | Boolean |  | 
| Account | googleAdsConversionCustomer | String |  | 
| Account | status | String | \$1=, = | 
| Account | allConversionsByConversionDate | Double | \$1=, =, <, > | 
| Account | allConversionsValueByConversionDate | Double | \$1=, =, <, > | 
| Account | conversionsByConversionDate | Double | \$1=, =, <, > | 
| Account | conversionsValueByConversionDate | Double | \$1=, =, <, > | 
| Account | valuePerAllConversionsByConversionDate | Double | \$1=, =, <, > | 
| Account | videoViews | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Account | clicks | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Account | invalidClicks | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Account | costPerAllConversions | Double | \$1=, =, <, > | 
| Account | costPerConversion | Double | \$1=, =, <, > | 
| Account | conversions | Double | \$1=, =, <, > | 
| Account | absoluteTopImpressionPercentage | Double | \$1=, =, <, > | 
| Account | impressions | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Account | topImpressionPercentage | Double | \$1=, =, <, > | 
| Account | averageCpc | Double | \$1=, =, <, > | 
| Account | activeViewMeasurableCostMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Account | averageCost | Double | \$1=, =, <, > | 
| Account | ctr | Double | \$1=, =, <, > | 
| Account | activeViewCtr | Double | \$1=, =, <, > | 
| Account | searchImpressionShare | Double | \$1=, =, <, > | 
| Account | conversionAction | String | \$1=, = | 
| Account | conversionActionCategory | String | \$1=, = | 
| Account | conversionActionName | String | \$1=, =, LIKE | 
| Account Budget | resourceName | String | \$1=, = | 
| Account Budget | status | String | \$1=, = | 
| Account Budget | proposedEndTimeType | String | \$1=, = | 
| Account Budget | approvedEndTimeType | String | \$1=, = | 
| Account Budget | id | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Account Budget | billingSetup | String | \$1=, = | 
| Account Budget | name | String | \$1=, =, LIKE | 
| Account Budget | approvedStartDateTime |  DateTime | BETWEEN, =, <, >, <=, >= | 
| Account Budget | proposedSpendingLimitMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Account Budget | approvedSpendingLimitMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Account Budget | adjustedSpendingLimitMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Account Budget | amountServedMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Ad Group | resourceName | String | \$1=, =, LIKE | 
| Ad Group | status | String | \$1=, =, LIKE | 
| Ad Group | type | String | \$1=, =, LIKE | 
| Ad Group | id | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Ad Group | name | String | \$1=, =, LIKE | 
| Ad Group | campaign | String | \$1=, = | 
| Ad Group | cpcBidMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Ad Group | targetCpaMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Ad Group | cpmBidMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Ad Group | cpvBidMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Ad Group | targetCpmMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Ad Group | effectiveTargetCpaMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Ad Group | date | Date | BETWEEN, =, <, >, <=, >= | 
| Ad Group | costMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Ad Group | useAudienceGrouped | Boolean | \$1=, = | 
| Ad Group | effectiveCpcBidMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Ad Group | allConversionsByConversionDate | Double | \$1=, =, <, > | 
| Ad Group | allConversionsValueByConversionDate | Double | \$1=, =, <, > | 
| Ad Group | conversionsByConversionDate | Double | \$1=, =, <, > | 
| Ad Group | conversionsValueByConversionDate | Double | \$1=, =, <, > | 
| Ad Group | valuePerAllConversionsByConversionDate | Double | \$1=, =, <, > | 
| Ad Group | valuePerConversionsByConversionDate | Double | \$1=, =, <, > | 
| Ad Group | averageCost | Double | \$1=, =, <, > | 
| Ad Group | costPerAllConversions | Double | \$1=, =, <, > | 
| Ad Group | costPerConversion | Double | \$1=, =, <, > | 
| Ad Group | averagePageViews | Double | \$1=, =, <, > | 
| Ad Group | videoViews | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Ad Group | clicks | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Ad Group | allConversions | Double | \$1=, =, <, > | 
| Ad Group | averageCpc | Double | \$1=, =, <, > | 
| Ad Group | absoluteTopImpressionPercentage | Double | \$1=, =, <, > | 
| Ad Group | impressions | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Ad Group | topImpressionPercentage | Double | \$1=, =, <, > | 
| Ad Group | activeViewCtr | Double | \$1=, =, <, > | 
| Ad Group | ctr | Double | \$1=, =, <, > | 
| Ad Group | searchTopImpressionShare | Double | \$1=, =, <, > | 
| Ad Group | searchImpressionShare | Double | \$1=, =, <, > | 
| Ad Group | searchAbsoluteTopImpressionShare | Double | \$1=, =, <, > | 
| Ad Group | relativeCtr | Double | \$1=, =, <, > | 
| Ad Group | conversionAction | String | \$1=, = | 
| Ad Group | conversionActionCategory | String | \$1=, = | 
| Ad Group | conversionActionName | String | \$1=, =, LIKE | 
| Ad Group | updateMask | String |  | 
| Ad Group | create | Struct |  | 
| Ad Group | update | Struct |  | 
| Ad Group | primaryStatus | String | \$1=, = | 
| Ad Group | primaryStatusReasons | List |  | 
| Ad Group Ad | resourceName | String | \$1=, = | 
| Ad Group Ad | id | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Ad Group Ad | status | String | \$1=, = | 
| Ad Group Ad | labels | List |  | 
| Ad Group Ad | adGroup | String | \$1=, = | 
| Ad Group Ad | costMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Ad Group Ad | approvalStatus | String | \$1=, = | 
| Ad Group Ad | reviewStatus | String | \$1=, = | 
| Ad Group Ad | adStrength | String | \$1=, = | 
| Ad Group Ad | type | String | \$1=, = | 
| Ad Group Ad | businessName | String | \$1=, =, LIKE | 
| Ad Group Ad | date | Date | BETWEEN, =, <, >, <=, >= | 
| Ad Group Ad | allConversionsByConversionDate | Double | \$1=, =, <, > | 
| Ad Group Ad | allConversionsValueByConversionDate | Double | \$1=, =, <, > | 
| Ad Group Ad | conversionsByConversionDate | Double | \$1=, =, <, > | 
| Ad Group Ad | conversionsValueByConversionDate | Double | \$1=, =, <, > | 
| Ad Group Ad | valuePerAllConversionsByConversionDate | Double | \$1=, =, <, > | 
| Ad Group Ad | valuePerConversionsByConversionDate | Double | \$1=, =, <, > | 
| Ad Group Ad | activeViewMeasurableCostMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Ad Group Ad | averageCost | Double | \$1=, =, <, > | 
| Ad Group Ad | costPerAllConversions | Double | \$1=, =, <, > | 
| Ad Group Ad | costPerConversion | Double | \$1=, =, <, > | 
| Ad Group Ad | clicks | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Ad Group Ad | averagePageViews | Double | \$1=, =, <, > | 
| Ad Group Ad | videoViews | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Ad Group Ad | allConversions | Double | \$1=, =, <, > | 
| Ad Group Ad | averageCpc | Double | \$1=, =, <, > | 
| Ad Group Ad | topImpressionPercentage | Double | \$1=, =, <, > | 
| Ad Group Ad | impressions | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Ad Group Ad | absoluteTopImpressionPercentage | Double | \$1=, =, <, > | 
| Ad Group Ad | activeViewCtr | Double | \$1=, =, <, > | 
| Ad Group Ad | ctr | Double | \$1=, =, <, > | 
| Ad Group Ad | conversionAction | String | \$1=, = | 
| Ad Group Ad | conversionActionCategory | String | \$1=, = | 
| Ad Group Ad | conversionActionName | String | \$1=, =, LIKE | 
| Ad Group Ad | updateMask | String |  | 
| Ad Group Ad | create | Struct |  | 
| Ad Group Ad | update | Struct |  | 
| Ad Group Ad | policyValidationParameter | Struct |  | 
| Ad Group Ad | primaryStatus | String | \$1=, = | 
| Ad Group Ad | primaryStatusReasons | List |  | 
| Campaign | resourceName | String | \$1=, = | 
| Campaign | status | String | \$1=, = | 
| Campaign | baseCampaign | String | \$1=, = | 
| Campaign | name | String | \$1=, =, LIKE | 
| Campaign | id | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Campaign | campaignBudget | String | \$1=, =, LIKE | 
| Campaign | startDate | Date | BETWEEN, =, <, >, <=, >= | 
| Campaign | endDate | Date | BETWEEN, =, <, >, <=, >= | 
| Campaign | adServingOptimizationStatus | String | \$1=, = | 
| Campaign | advertisingChannelType | String | \$1=, = | 
| Campaign | advertisingChannelSubType | String | \$1=, = | 
| Campaign | experimentType | String | \$1=, = | 
| Campaign | servingStatus | String | \$1=, = | 
| Campaign | biddingStrategyType | String | \$1=, = | 
| Campaign | domainName | String | \$1=, =, LIKE | 
| Campaign | languageCode | String | \$1=, =, LIKE | 
| Campaign | useSuppliedUrlsOnly | Boolean | \$1=, = | 
| Campaign | positiveGeoTargetType | String | \$1=, = | 
| Campaign | negativeGeoTargetType | String | \$1=, = | 
| Campaign | paymentMode | String | \$1=, = | 
| Campaign | optimizationGoalTypes | List |  | 
| Campaign | date | Date | BETWEEN, =, <, >, <=, >= | 
| Campaign | averageCost | Double |  | 
| Campaign | clicks | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Campaign | costMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Campaign | impressions | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Campaign | useAudienceGrouped | Boolean | \$1=, = | 
| Campaign | activeViewMeasurableCostMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Campaign | costPerAllConversions | Double | \$1=, =, <, > | 
| Campaign | costPerConversion | Double | \$1=, =, <, > | 
| Campaign | invalidClicks | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Campaign | publisherPurchasedClicks | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Campaign | averagePageViews | Double | \$1=, =, <, > | 
| Campaign | videoViews | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Campaign | allConversionsByConversionDate | Double | \$1=, =, <, > | 
| Campaign | allConversionsValueByConversionDate | Double | \$1=, =, <, > | 
| Campaign | conversionsByConversionDate | Double | \$1=, =, <, > | 
| Campaign | conversionsValueByConversionDate | Double | \$1=, =, <, > | 
| Campaign | valuePerAllConversionsByConversionDate | Double | \$1=, =, <, > | 
| Campaign | valuePerConversionsByConversionDate | Double | \$1=, =, <, > | 
| Campaign | allConversions | Double | \$1=, =, <, > | 
| Campaign | absoluteTopImpressionPercentage | Double | \$1=, =, <, > | 
| Campaign | searchAbsoluteTopImpressionShare | Double | \$1=, =, <, > | 
| Campaign | averageCpc | Double | \$1=, =, <, > | 
| Campaign | searchImpressionShare | Double | \$1=, =, <, > | 
| Campaign | searchTopImpressionShare | Double | \$1=, =, <, > | 
| Campaign | activeViewCtr | Double | \$1=, =, <, > | 
| Campaign | ctr | Double | \$1=, =, <, > | 
| Campaign | relativeCtr | Double | \$1=, =, <, > | 
| Campaign | updateMask | String |  | 
| Campaign | create | Struct |  | 
| Campaign | update | Struct |  | 
| Campaign Budget | resourceName | String | \$1=, = | 
| Campaign Budget | id | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Campaign Budget | status | String | \$1=, = | 
| Campaign Budget | deliveryMethod | String | \$1=, = | 
| Campaign Budget | period | String | \$1=, = | 
| Campaign Budget | type | String | \$1=, = | 
| Campaign Budget | name | String | \$1=, =, LIKE | 
| Campaign Budget | amountMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Campaign Budget | explicitlyShared | Boolean | \$1=, = | 
| Campaign Budget | referenceCount | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Campaign Budget | hasRecommendedBudget | Boolean | \$1=, = | 
| Campaign Budget | date | Date | BETWEEN, =, <, >, <=, >= | 
| Campaign Budget | costMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Campaign Budget | startDate | Date | BETWEEN, =, <, >, <=, >= | 
| Campaign Budget | endDate | Date | BETWEEN, =, <, >, <=, >= | 
| Campaign Budget | maximizeConversionValueTargetRoas | Double | \$1=, =, <, > | 
| Campaign Budget | maximizeConversionsTargetCpaMicros | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Campaign Budget | selectiveOptimizationConversionActions | String |  | 
| Campaign Budget | averageCost | Double | \$1=, =, <, > | 
| Campaign Budget | costPerAllConversions | Double | \$1=, =, <, > | 
| Campaign Budget | costPerConversion | Double | \$1=, =, <, > | 
| Campaign Budget | videoViews | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Campaign Budget | clicks | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Campaign Budget | allConversions | Double | \$1=, =, <, > | 
| Campaign Budget | valuePerAllConversions | Double | \$1=, =, <, > | 
| Campaign Budget | averageCpc | Double | \$1=, =, <, > | 
| Campaign Budget | impressions | BigInteger | BETWEEN, =, \$1=, <, >, <=, >= | 
| Campaign Budget | ctr | Double | \$1=, =, <, > | 
| Campaign Budget | updateMask | String |  | 
| Campaign Budget | create | Struct |  | 
| Campaign Budget | update | Struct |  | 

 **Partitioning queries** 

 Additional spark options `PARTITION_FIELD`, `LOWER_BOUND`, `UPPER_BOUND`, `NUM_PARTITIONS` can be provided if you want to utilize concurrency in Spark. With these parameters, the original query would be split into `NUM_PARTITIONS` number of sub-queries that can be executed by spark tasks concurrently. 
+  `PARTITION_FIELD`: the name of the field to be used to partition query. 
+  `LOWER_BOUND`: an inclusive lower bound value of the chosen partition field. 

   For date, we accept the Spark date format used in Spark SQL queries. Example of valid values: `"2024-02-06"`. 
+  `UPPER_BOUND`: an exclusive upper bound value of the chosen partition field. 
+  `NUM_PARTITIONS`: number of partitions. 

 Entity-wise partitioning field support details are captured in the following table. 


| Entity Name | Partitioning Field | Data Type | 
| --- | --- | --- | 
| Ad Group Ad | date | Date | 
| Ad Group | date | Date | 
| Campaign | date | Date | 
| Campaign Budget | date | Date | 

 **Example** 

```
googleads_read = glueContext.create_dynamic_frame.from_options(
    connection_type="googleads",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "campaign-3467***",
        "API_VERSION": "v16",
        "PARTITION_FIELD": "date"
        "LOWER_BOUND": "2024-01-01"
        "UPPER_BOUND": "2024-06-05"
        "NUM_PARTITIONS": "10"
    }
)
```