"The `@oneOf` directive is used within the type system definition language to indicate an Input Object is a OneOf Input Object." directive @oneOf on INPUT_OBJECT schema { query: Queries mutation: Mutations } scalar ASTExpressionIdentifier scalar ASTExpressionLocation scalar ASTExpressionName scalar BigDecimal "An instantaneous point on the time-line represented by a standard date time string" scalar Instant "A date without a time-zone in the ISO-8601 calendar system using the format 1970-01-01" scalar LocalDate "A date-time without a time-zone in the ISO-8601 calendar system in the format of 1970-01-01T00:00:00" scalar LocalDateTime scalar Long "A time-zone ID" scalar TimeZone scalar Unit union ASTExpressionBooleanExpression = ASTExpressionBooleanExpressionAnd | ASTExpressionBooleanExpressionBinaryOp | ASTExpressionBooleanExpressionNot | ASTExpressionBooleanExpressionOr | ASTExpressionBooleanExpressionUnaryOp union ASTExpressionParameter = ASTExpressionFunction | ASTExpressionValueBoolean | ASTExpressionValueDate | ASTExpressionValueList | ASTExpressionValueNumber | ASTExpressionValueString | ASTExpressionValueTimestamp | ASTExpressionVariable union ASTExpressionValue = ASTExpressionValueBoolean | ASTExpressionValueDate | ASTExpressionValueList | ASTExpressionValueNumber | ASTExpressionValueString | ASTExpressionValueTimestamp union AccessibleAdAccount = AccessibleAdAccountClient | AccessibleAdAccountManager union ActionAmazon = ActionAdGroupIgnore | ActionAdGroupKeyword | ActionAdGroupKeywordAdjustBid | ActionAdGroupKeywordExtraCreate | ActionAdGroupKeywordExtraRemove | ActionAdGroupKeywordIgnore | ActionAdGroupKeywordPause | ActionAdGroupKeywordRemove | ActionAdGroupKeywordUnignore | ActionAdGroupKeywordUnpause | ActionAdGroupNegativeKeyword | ActionAdGroupNegativeKeywordRemove | ActionAdGroupPause | ActionAdGroupUnignore | ActionAdGroupUnpause | ActionAmazonCampaignAmount | ActionCampaignIgnore | ActionCampaignName | ActionCampaignNegativeKeyword | ActionCampaignNegativeKeywordRemove | ActionCampaignPause | ActionCampaignUnignore | ActionCampaignUnpause | ActionSearchTermIgnore | ActionSearchTermUnignore union ActionFacebook = ActionAdGroupIgnore | ActionAdGroupName | ActionAdGroupPause | ActionAdGroupUnignore | ActionAdGroupUnpause | ActionCampaignIgnore | ActionCampaignName | ActionCampaignPause | ActionCampaignUnignore | ActionCampaignUnpause | ActionDeviceIgnore | ActionDeviceUnignore | ActionFacebookAdSetDailyAmount | ActionFacebookCampaignDailyAmount union ActionGoogle = ActionAdAccountAssetPauseSiteLink | ActionAdAccountAssetRemoveSiteLink | ActionAdGroupAssetPauseSiteLink | ActionAdGroupAssetRemoveSiteLink | ActionAdGroupAudienceIgnore | ActionAdGroupAudienceUnignore | ActionAdGroupIgnore | ActionAdGroupKeyword | ActionAdGroupKeywordAdjustBid | ActionAdGroupKeywordExtraCreate | ActionAdGroupKeywordExtraRemove | ActionAdGroupKeywordIgnore | ActionAdGroupKeywordPause | ActionAdGroupKeywordRemove | ActionAdGroupKeywordUnignore | ActionAdGroupKeywordUnpause | ActionAdGroupLabel | ActionAdGroupLabelRemove | ActionAdGroupNegativeKeyword | ActionAdGroupNegativeKeywordRemove | ActionAdGroupPause | ActionAdGroupPlacementExclude | ActionAdGroupProductExclude | ActionAdGroupUnignore | ActionAdGroupUnpause | ActionAdLabel | ActionAdLabelRemove | ActionAdPause | ActionAdRemove | ActionAdUnpause | ActionAdUpdateFinalMobileUrl | ActionAdUpdateFinalUrl | ActionAssetFinalUrlUpdate | ActionAssetGroupIgnore | ActionAssetGroupPause | ActionAssetGroupProductExclude | ActionAssetGroupUnignore | ActionAssetGroupUnpause | ActionAssetMobileUrlUpdate | ActionCampaignAssetPauseSiteLink | ActionCampaignAssetRemoveSiteLink | ActionCampaignAudienceIgnore | ActionCampaignAudienceUnignore | ActionCampaignDeviceAdjustBid | ActionCampaignIgnore | ActionCampaignLabel | ActionCampaignLabelRemove | ActionCampaignLocationExclude | ActionCampaignLocationTarget | ActionCampaignName | ActionCampaignNegativeKeyword | ActionCampaignNegativeKeywordRemove | ActionCampaignPause | ActionCampaignPlacementExclude | ActionCampaignUnignore | ActionCampaignUnpause | ActionDeviceIgnore | ActionDeviceUnignore | ActionGoogleAdGroupAssetPause | ActionGoogleAdGroupAssetRemove | ActionGoogleAdGroupAudienceAdd | ActionGoogleAdGroupCriterionAdjustBid | ActionGoogleAdGroupCriterionRemove | ActionGoogleAdGroupTargetingSetting | ActionGoogleCampaignAssetPause | ActionGoogleCampaignAssetRemove | ActionGoogleCampaignAudienceAdd | ActionGoogleCampaignAudienceExclude | ActionGoogleCampaignBiddingStrategy | ActionGoogleCampaignBudgetAmount | ActionGoogleCampaignBudgetName | ActionGoogleCampaignCriterionAdjustBid | ActionGoogleCampaignCriterionRemove | ActionGoogleCampaignRemoveDisplayNetwork | ActionGoogleCampaignRemoveSearchPartnerNetwork | ActionGoogleCampaignRemoveTargetInterestInLocation | ActionGoogleCampaignTargetingSetting | ActionGoogleCustomerAssetPause | ActionGoogleCustomerAssetRemove | ActionNegativeKeywordListKeyword | ActionNegativeKeywordListKeywordRemove | ActionPlatformRecommendationDismiss | ActionProductIgnore | ActionProductUnignore | ActionPublisherExclusionListAddItem | ActionPublisherIgnore | ActionPublisherUnignore | ActionSearchTermIgnore | ActionSearchTermUnignore union ActionLinkedIn = ActionAdGroupName | ActionAdGroupPause | ActionAdGroupUnpause | ActionAdPause | ActionAdUnpause | ActionCampaignIgnore | ActionCampaignName | ActionCampaignPause | ActionCampaignUnignore | ActionCampaignUnpause | ActionDeviceIgnore | ActionDeviceUnignore | ActionLinkedInCampaignBiddingStrategy | ActionLinkedInCampaignDailyAmount | ActionLinkedInCampaignOffsiteDeliveryDisable union ActionMicrosoft = ActionAdAccountAdExtensionRemoveSiteLink | ActionAdExtensionFinalUrlUpdate | ActionAdExtensionMobileUrlUpdate | ActionAdGroupAdExtensionRemoveSiteLink | ActionAdGroupAudienceIgnore | ActionAdGroupAudienceUnignore | ActionAdGroupIgnore | ActionAdGroupKeyword | ActionAdGroupKeywordAdjustBid | ActionAdGroupKeywordExtraCreate | ActionAdGroupKeywordExtraRemove | ActionAdGroupKeywordIgnore | ActionAdGroupKeywordPause | ActionAdGroupKeywordRemove | ActionAdGroupKeywordUnignore | ActionAdGroupKeywordUnpause | ActionAdGroupLabel | ActionAdGroupLabelRemove | ActionAdGroupNegativeKeyword | ActionAdGroupNegativeKeywordRemove | ActionAdGroupPause | ActionAdGroupPlacementExclude | ActionAdGroupProductExclude | ActionAdGroupUnignore | ActionAdGroupUnpause | ActionAdLabel | ActionAdLabelRemove | ActionAdPause | ActionAdRemove | ActionAdUnpause | ActionAdUpdateFinalMobileUrl | ActionAdUpdateFinalUrl | ActionAssetGroupIgnore | ActionAssetGroupProductExclude | ActionAssetGroupUnignore | ActionCampaignAdExtensionRemoveSiteLink | ActionCampaignAudienceIgnore | ActionCampaignAudienceUnignore | ActionCampaignDeviceAdjustBid | ActionCampaignIgnore | ActionCampaignLabel | ActionCampaignLabelRemove | ActionCampaignName | ActionCampaignNegativeKeyword | ActionCampaignNegativeKeywordRemove | ActionCampaignPause | ActionCampaignPlacementExclude | ActionCampaignUnignore | ActionCampaignUnpause | ActionDeviceIgnore | ActionDeviceUnignore | ActionMicrosoftAdGroupAudienceAdd | ActionMicrosoftAdGroupAudienceAdjustBid | ActionMicrosoftAdGroupAudienceExclude | ActionMicrosoftAdGroupAudienceRemove | ActionMicrosoftAdGroupRemoveTargetInterestInLocation | ActionMicrosoftAdGroupTargetSetting | ActionMicrosoftBudgetAmount | ActionMicrosoftBudgetName | ActionMicrosoftCampaignAmount | ActionMicrosoftCampaignAudienceAdd | ActionMicrosoftCampaignAudienceAdjustBid | ActionMicrosoftCampaignAudienceExclude | ActionMicrosoftCampaignAudienceRemove | ActionMicrosoftCampaignBiddingScheme | ActionMicrosoftCampaignCreateAudienceShopping | ActionMicrosoftCampaignRemoveTargetInterestInLocation | ActionMicrosoftCampaignTargetSetting | ActionNegativeKeywordListKeyword | ActionNegativeKeywordListKeywordRemove | ActionProductIgnore | ActionProductUnignore | ActionPublisherExclusionListAddItem | ActionPublisherIgnore | ActionPublisherUnignore | ActionSearchTermIgnore | ActionSearchTermUnignore union ActionRunStatus = ActionRunStatusFailed | ActionRunStatusPending | ActionRunStatusRan | ActionRunStatusRunning union ActionRunStatusRanScanRun = ActionRunStatusRanScanRunFailure | ActionRunStatusRanScanRunPending | ActionRunStatusRanScanRunRunning | ActionRunStatusRanScanRunSuccess union Ad = AdGoogle | AdMicrosoft union AdAccount = AdAccountAmazon | AdAccountFacebook | AdAccountGoogle | AdAccountLinkedIn | AdAccountMicrosoft union AdAccountGoogleMerchantLinkedCredentialInaccessible = AdAccountGoogleMerchantLinkedCredentialInaccessibleDeleted | AdAccountGoogleMerchantLinkedCredentialInaccessibleExpired | AdAccountGoogleMerchantLinkedCredentialInaccessibleFailed | AdAccountGoogleMerchantLinkedCredentialInaccessibleInvalid union AdAccountInsightAlertDefinitionSelector = AdAccountInsightAlertDefinitionSelectorAll | AdAccountInsightAlertDefinitionSelectorCompound union AdAccountStatus = AdAccountStatusInitialized | AdAccountStatusInitializing | AdAccountStatusNotAccessible union AdAccountSyncRunStatus = AdAccountSyncRunStatusFailure | AdAccountSyncRunStatusPending | AdAccountSyncRunStatusRunning | AdAccountSyncRunStatusSuccess union AdGroup = AdGroupAmazon | AdGroupFacebookCampaignBudget | AdGroupFacebookDaily | AdGroupFacebookLifetime | AdGroupGoogle | AdGroupMicrosoft | CampaignLinkedIn union AdGroupConsoleCampaign = AdGroupConsoleCampaignClickThroughRate | AdGroupConsoleCampaignConvValueCost | AdGroupConsoleCampaignCostPerConversion | AdGroupConsoleCampaignImpressions union AdGroupConsoleStatus = AdGroupConsoleStatusCompleted | AdGroupConsoleStatusDisabled | AdGroupConsoleStatusInitializing | AdGroupConsoleStatusPending | AdGroupConsoleStatusRunning | AdGroupConsoleStatusSnoozed union Alert = AlertAdAccountCredentialFailure | AlertAdAccountInsightAlert | AlertAdAccountsInaccessible | AlertBudgetAdjustmentAllBudgetsLocked | AlertBudgetAdjustmentError | AlertBudgetAdjustmentFirstRunLargerThanPrevious | AlertBudgetAdjustmentLargeIncrease | AlertBudgetAutoFunctionalityDisabled | AlertBudgetCampaignsPaused | AlertBudgetCampaignsSuspended | AlertBudgetCampaignsUnpaused | AlertBudgetCampaignsUnsuspended | AlertBudgetCustomAlert | AlertBudgetRolloverTruncated | AlertBudgetSpendOverThreshold | AlertBudgetWithCampaignBudgetsAtMinimum | AlertBudgetWithCampaignBudgetsAtPlatformMinimum | AlertCloseVariantsAutoNegativesError | AlertCredentialInvalid | AlertHubSpotConnectionInvalid | AlertMetricChange union AlertMetricChangeResult = AlertMetricChangeResultAdAccount | AlertMetricChangeResultCampaign union AssetGroupConsoleCampaignAssetGroup = AssetGroupConsoleCampaignAssetGroupClickThroughRate | AssetGroupConsoleCampaignAssetGroupConvValueCost | AssetGroupConsoleCampaignAssetGroupCostPerConversion | AssetGroupConsoleCampaignAssetGroupImpressions union AssetGroupConsoleCampaignAssetGroupClassification = AssetGroupConsoleCampaignAssetGroupClassificationIgnored | AssetGroupConsoleCampaignAssetGroupClassificationIssues | AssetGroupConsoleCampaignAssetGroupClassificationLowData | AssetGroupConsoleCampaignAssetGroupClassificationNoClicks | AssetGroupConsoleCampaignAssetGroupClassificationPerformanceAverage | AssetGroupConsoleCampaignAssetGroupClassificationPerformanceBad | AssetGroupConsoleCampaignAssetGroupClassificationPerformanceGood | AssetGroupConsoleCampaignAssetGroupClassificationSpendAverage | AssetGroupConsoleCampaignAssetGroupClassificationSpendHigh | AssetGroupConsoleCampaignAssetGroupClassificationSpendLow union AssetGroupConsoleStatus = AssetGroupConsoleStatusCompleted | AssetGroupConsoleStatusDisabled | AssetGroupConsoleStatusInitializing | AssetGroupConsoleStatusPending | AssetGroupConsoleStatusRunning | AssetGroupConsoleStatusSnoozed union Audience = AudienceGoogle | AudienceMicrosoft union AudienceConsoleCampaign = AudienceConsoleCampaignClickThroughRate | AudienceConsoleCampaignConvValueCost | AudienceConsoleCampaignCostPerConversion | AudienceConsoleCampaignImpressions union AudienceConsoleStatus = AudienceConsoleStatusCompleted | AudienceConsoleStatusDisabled | AudienceConsoleStatusInitializing | AudienceConsoleStatusPending | AudienceConsoleStatusRunning | AudienceConsoleStatusSnoozed union AudienceManagerStatus = AudienceManagerStatusCompleted | AudienceManagerStatusDisabled | AudienceManagerStatusInitializing | AudienceManagerStatusPending | AudienceManagerStatusRunning | AudienceManagerStatusSnoozed union BidAdjustment = BidAdjustmentGoogle | BidAdjustmentMicrosoftFixed | BidAdjustmentMicrosoftMultiplier union BudgetAlertDefinitionCheckDefinition = BudgetAlertDefinitionCheckDefinitionDailySpendCheck | BudgetAlertDefinitionCheckDefinitionPacingCheck | BudgetAlertDefinitionCheckDefinitionSpendCheck union BudgetAlertDefinitionCheckDefinitionThreshold = BudgetAlertDefinitionCheckDefinitionThresholdAmount | BudgetAlertDefinitionCheckDefinitionThresholdPercentage union BudgetAlertDefinitionSelector = BudgetAlertDefinitionSelectorAll | BudgetAlertDefinitionSelectorCompound union BudgetCampaignBudgetRange = BudgetCampaignBudgetRangeMax | BudgetCampaignBudgetRangeMin | BudgetCampaignBudgetRangeMinMax union BudgetNewSchedule = BudgetNewScheduleCustom | BudgetNewScheduleRecurring union BudgetPacing = BudgetPacingLinear union BudgetPerformanceCardAdPlatforms = BudgetPerformanceCardAdPlatformsAll | BudgetPerformanceCardAdPlatformsSubset union BudgetRollOverStrategy = BudgetRollOverStrategyAll | BudgetRollOverStrategyMaxAmount | BudgetRollOverStrategyMaxPercentage | BudgetRollOverStrategyZero union BudgetScheduleModification = BudgetScheduleCustomCreate | BudgetScheduleCustomRemove | BudgetScheduleCustomUpdate | BudgetScheduleRecurringCreate | BudgetScheduleRecurringRemove | BudgetScheduleRecurringUpdate union BudgetScheduleRepeat = BudgetScheduleRepeatDaily | BudgetScheduleRepeatMonthly | BudgetScheduleRepeatWeekly union BudgetScheduleV2 = BudgetScheduleCustom | BudgetScheduleRecurring union BudgetStatus = BudgetStatusInitializing | BudgetStatusUpdated | BudgetStatusUpdating union BudgetTree = BudgetTreeClientAllSelectedBudget | BudgetTreeClientNoAllSelectedBudget | BudgetTreeMultipleRoots | BudgetTreeSingleRoot union Budget__new = BudgetCustomV2 | BudgetGoogleAccount union Campaign = CampaignAmazon | CampaignFacebookDistributedBudget | CampaignFacebookNormal | CampaignGoogle | CampaignGroupLinkedIn | CampaignMicrosoft union CampaignAmazonBidding = CampaignAmazonBiddingCostPer | CampaignAmazonBiddingCostPerThousandViewedImpressions | CampaignAmazonBiddingDynamicAutoSales | CampaignAmazonBiddingDynamicLegacySales | CampaignAmazonBiddingDynamicManual | CampaignAmazonBiddingDynamicRuleBased | CampaignAmazonBiddingMaximizeImmediateSales | CampaignAmazonBiddingMaximizeNewToBrandCustomers union CampaignBudget = CampaignBudgetAmazonDaily | CampaignBudgetAmazonLifetime | CampaignBudgetFacebookAdSetDaily | CampaignBudgetFacebookAdSetLifetime | CampaignBudgetFacebookCampaignDaily | CampaignBudgetFacebookCampaignLifetime | CampaignBudgetGoogleAttachedCustomPeriod | CampaignBudgetGoogleAttachedDaily | CampaignBudgetGoogleShared | CampaignBudgetLinkedInDaily | CampaignBudgetLinkedInDailyAndTotal | CampaignBudgetLinkedInTotal | CampaignBudgetMicrosoftDaily | CampaignBudgetMicrosoftShared union CampaignBudgetGroupKpi = CampaignBudgetGroupKpiClickThroughRate | CampaignBudgetGroupKpiClickThroughRateLastYear | CampaignBudgetGroupKpiClickThroughRatePreviousPeriod | CampaignBudgetGroupKpiConvRate | CampaignBudgetGroupKpiConvRateLastYear | CampaignBudgetGroupKpiConvRatePreviousPeriod | CampaignBudgetGroupKpiConvValueCost | CampaignBudgetGroupKpiConvValueCostLastYear | CampaignBudgetGroupKpiConvValueCostPreviousPeriod | CampaignBudgetGroupKpiConversions | CampaignBudgetGroupKpiConversionsLastYear | CampaignBudgetGroupKpiConversionsPreviousPeriod | CampaignBudgetGroupKpiCostOfSales | CampaignBudgetGroupKpiCostOfSalesLastYear | CampaignBudgetGroupKpiCostOfSalesPreviousPeriod | CampaignBudgetGroupKpiCostPerConversion | CampaignBudgetGroupKpiCostPerConversionLastYear | CampaignBudgetGroupKpiCostPerConversionPreviousPeriod | CampaignBudgetGroupKpiImpressions | CampaignBudgetGroupKpiImpressionsLastYear | CampaignBudgetGroupKpiImpressionsPreviousPeriod union CampaignConsoleCampaign = CampaignConsoleCampaignClickThroughRate | CampaignConsoleCampaignConvValueCost | CampaignConsoleCampaignCostPerConversion | CampaignConsoleCampaignImpressions union CampaignConsoleStatus = CampaignConsoleStatusCompleted | CampaignConsoleStatusDisabled | CampaignConsoleStatusInitializing | CampaignConsoleStatusPending | CampaignConsoleStatusRunning | CampaignConsoleStatusSnoozed union CampaignGoogleBiddingStrategy = CampaignGoogleBiddingStrategyCommission | CampaignGoogleBiddingStrategyEnhancedCpc | CampaignGoogleBiddingStrategyFixedCpm | CampaignGoogleBiddingStrategyManualCpa | CampaignGoogleBiddingStrategyManualCpc | CampaignGoogleBiddingStrategyManualCpm | CampaignGoogleBiddingStrategyManualCpv | CampaignGoogleBiddingStrategyMaximizeConversionValue | CampaignGoogleBiddingStrategyMaximizeConversions | CampaignGoogleBiddingStrategyPercentCpc | CampaignGoogleBiddingStrategyTargetCpa | CampaignGoogleBiddingStrategyTargetCpm | CampaignGoogleBiddingStrategyTargetCpv | CampaignGoogleBiddingStrategyTargetImpressionShare | CampaignGoogleBiddingStrategyTargetRoas | CampaignGoogleBiddingStrategyTargetSpend union CampaignLinkedInBiddingStrategy = CampaignLinkedInBiddingStrategyManual | CampaignLinkedInBiddingStrategyMaximizeClicks | CampaignLinkedInBiddingStrategyMaximizeConversions | CampaignLinkedInBiddingStrategyMaximizeImpressions | CampaignLinkedInBiddingStrategyMaximizeLeads | CampaignLinkedInBiddingStrategyMaximizeReach | CampaignLinkedInBiddingStrategyMaximizeVideoViews | CampaignLinkedInBiddingStrategyTargetClicks | CampaignLinkedInBiddingStrategyTargetImpressions | CampaignLinkedInBiddingStrategyTargetVideoViews union CampaignMicrosoftBiddingScheme = CampaignMicrosoftBiddingSchemeCommission | CampaignMicrosoftBiddingSchemeCostPerSale | CampaignMicrosoftBiddingSchemeEnhancedCpc | CampaignMicrosoftBiddingSchemeInheritFromParent | CampaignMicrosoftBiddingSchemeManualCpa | CampaignMicrosoftBiddingSchemeManualCpc | CampaignMicrosoftBiddingSchemeManualCpm | CampaignMicrosoftBiddingSchemeManualCpv | CampaignMicrosoftBiddingSchemeMaxClicks | CampaignMicrosoftBiddingSchemeMaxConversionValue | CampaignMicrosoftBiddingSchemeMaxConversions | CampaignMicrosoftBiddingSchemeMaxRoas | CampaignMicrosoftBiddingSchemePercentCpc | CampaignMicrosoftBiddingSchemeTargetCpa | CampaignMicrosoftBiddingSchemeTargetImpressionShare | CampaignMicrosoftBiddingSchemeTargetRoas union ChangeLogEntry = ChangeLogAdAccountInsightAlertSettingUpdated | ChangeLogEntryActionsExecuted | ChangeLogEntryAdAccountCredentialOverridesForMutationsUpdated | ChangeLogEntryAdAccountInsightAlertDefinitionCreated | ChangeLogEntryAdAccountInsightAlertDefinitionDeleted | ChangeLogEntryAdAccountInsightAlertDefinitionUpdated | ChangeLogEntryAlertArchived | ChangeLogEntryApiTokenCreated | ChangeLogEntryApiTokenRevoked | ChangeLogEntryBudgetAlertCreated | ChangeLogEntryBudgetAlertDefinitionCreated | ChangeLogEntryBudgetAlertDefinitionDeleted | ChangeLogEntryBudgetAlertDefinitionUpdated | ChangeLogEntryBudgetAlertDeleted | ChangeLogEntryBudgetCampaignBudgetLocking | ChangeLogEntryBudgetCampaignBudgetRange | ChangeLogEntryBudgetCreatedCustom | ChangeLogEntryBudgetCreatedGoogleAccount | ChangeLogEntryBudgetDeleted | ChangeLogEntryBudgetPerformanceCardCreated | ChangeLogEntryBudgetPerformanceCardDeleted | ChangeLogEntryBudgetPerformanceCardUpdated | ChangeLogEntryBudgetTemplateCreated | ChangeLogEntryBudgetTemplateDeleted | ChangeLogEntryBudgetTemplateUpdated | ChangeLogEntryBudgetUpdated | ChangeLogEntryCampaignBudgetGroupCreated | ChangeLogEntryCampaignBudgetGroupDeleted | ChangeLogEntryCampaignBudgetGroupUpdated | ChangeLogEntryCampaignGroupCreated | ChangeLogEntryCampaignGroupDeleted | ChangeLogEntryCampaignGroupUpdated | ChangeLogEntryContactCreated | ChangeLogEntryContactDeleted | ChangeLogEntryContactUpdated | ChangeLogEntryCredentialCreated | ChangeLogEntryCredentialDeleted | ChangeLogEntryCredentialUpdated | ChangeLogEntryCredentialsReordered | ChangeLogEntryHubSpotAdAccountImported | ChangeLogEntryHubSpotIntegrationCreated | ChangeLogEntryHubSpotIntegrationDeleted | ChangeLogEntryMetricChangeAlertDefinitionCreated | ChangeLogEntryMetricChangeAlertDefinitionDeleted | ChangeLogEntryMetricChangeAlertDefinitionUpdated | ChangeLogEntryMicrosoftAdsCustomerSignedUp | ChangeLogEntryNoteCreated | ChangeLogEntryNoteDeleted | ChangeLogEntryNoteUpdated | ChangeLogEntryOrganizationUpdated | ChangeLogEntryScanConfigurationUpdated | ChangeLogEntryScanConfigurationUpdatedAccountNotServing | ChangeLogEntryScanConfigurationUpdatedAdGroupMetrics | ChangeLogEntryScanConfigurationUpdatedAdPlatformLimits | ChangeLogEntryScanConfigurationUpdatedAssetGroupPerformance | ChangeLogEntryScanConfigurationUpdatedAutomaticallyGeneratedAssets | ChangeLogEntryScanConfigurationUpdatedBrandCampaignImpressionShare | ChangeLogEntryScanConfigurationUpdatedBudgetAllocationRecommendation | ChangeLogEntryScanConfigurationUpdatedChangeAccountConversion | ChangeLogEntryScanConfigurationUpdatedChangeAudienceManager | ChangeLogEntryScanConfigurationUpdatedChangeCampaignAudienceExists | ChangeLogEntryScanConfigurationUpdatedChangeNoRecentChanges | ChangeLogEntryScanConfigurationUpdatedCloseVariants | ChangeLogEntryScanConfigurationUpdatedDisapprovedAds | ChangeLogEntryScanConfigurationUpdatedKeywordConflicts | ChangeLogEntryScanConfigurationUpdatedKeywordPerformance | ChangeLogEntryScanConfigurationUpdatedLinkCheck | ChangeLogEntryScanConfigurationUpdatedLinkedInCampaignPlacements | ChangeLogEntryScanConfigurationUpdatedLocationTarget | ChangeLogEntryScanConfigurationUpdatedMicrosoftConnection | ChangeLogEntryScanConfigurationUpdatedMicrosoftShoppingDynamicRemarketing | ChangeLogEntryScanConfigurationUpdatedNegativeKeywordConflicts | ChangeLogEntryScanConfigurationUpdatedPlatformRecommendations | ChangeLogEntryScanConfigurationUpdatedProductPerformance | ChangeLogEntryScanConfigurationUpdatedSearchCampaignWithDisplay | ChangeLogEntryScanConfigurationUpdatedSearchTermPerformance | ChangeLogEntryScanConfigurationUpdatedSiteLink | ChangeLogEntryScanConfigurationUpdatedThirdPartyChanges | ChangeLogEntryScanConfigurationUpdatedUnexpectedSpendInLocations | ChangeLogEntryTagCreated | ChangeLogEntryTagDeleted | ChangeLogEntryTagUpdated | ChangeLogEntryUserInvitationCreated | ChangeLogEntryUserInvitationResent | ChangeLogEntryUserInvitationRevoked | ChangeLogEntryUserReferencesReplaced union ChangeLogEntryAdAccountInsightAlertDefinitionUpdatedChange = ChangeLogEntryAdAccountInsightAlertDefinitionUpdatedChangeAdAccountsUpdated | ChangeLogEntryAdAccountInsightAlertDefinitionUpdatedChangeAlertCategoriesUpdated | ChangeLogEntryAdAccountInsightAlertDefinitionUpdatedChangeDailySummaryUpdated | ChangeLogEntryAdAccountInsightAlertDefinitionUpdatedChangeNameUpdated | ChangeLogEntryAdAccountInsightAlertDefinitionUpdatedChangeSelectorUpdated | ChangeLogEntryAdAccountInsightAlertDefinitionUpdatedChangeTargetContactsUpdated | ChangeLogEntryAdAccountInsightAlertDefinitionUpdatedChangeTargetUsersUpdated union ChangeLogEntryBudgetAlertDefinitionUpdatedChange = ChangeLogEntryBudgetAlertDefinitionUpdatedChangeBudgetsUpdated | ChangeLogEntryBudgetAlertDefinitionUpdatedChangeCheckDefinitionUpdated | ChangeLogEntryBudgetAlertDefinitionUpdatedChangeNameUpdated | ChangeLogEntryBudgetAlertDefinitionUpdatedChangeOptionsUpdated | ChangeLogEntryBudgetAlertDefinitionUpdatedChangeSelectorUpdated | ChangeLogEntryBudgetAlertDefinitionUpdatedChangeTargetContactsUpdated | ChangeLogEntryBudgetAlertDefinitionUpdatedChangeTargetUsersUpdated union ChangeLogEntryBudgetUpdatedChange = ChangeLogEntryBudgetUpdatedChangeAdjustmentVersionUpdated | ChangeLogEntryBudgetUpdatedChangeAutoAdjustUpdated | ChangeLogEntryBudgetUpdatedChangeBudgetUpdated | ChangeLogEntryBudgetUpdatedChangeNameUpdated | ChangeLogEntryBudgetUpdatedChangeNotificationTargetsUpdated | ChangeLogEntryBudgetUpdatedChangePauseThresholdUpdatedContainer | ChangeLogEntryBudgetUpdatedChangePauseWhenNoCurrentEntryUpdated | ChangeLogEntryBudgetUpdatedChangeReportChildAmountDiffUpdated | ChangeLogEntryBudgetUpdatedChangeRollOverStrategyUpdated union ChangeLogEntryBudgetUpdatedChangePauseThresholdUpdated = ChangeLogEntryBudgetUpdatedChangePauseThresholdUpdatedChanged | ChangeLogEntryBudgetUpdatedChangePauseThresholdUpdatedRemoved | ChangeLogEntryBudgetUpdatedChangePauseThresholdUpdatedSet union ChangeLogEntryBudgetUpdatedEntryChange = ChangeLogEntryBudgetUpdatedEntryChangeBudgetUpdated | ChangeLogEntryBudgetUpdatedEntryChangeCreated | ChangeLogEntryBudgetUpdatedEntryChangeIntervalUpdated | ChangeLogEntryBudgetUpdatedEntryChangeRemoved | ChangeLogEntryBudgetUpdatedEntryChangeRolloverStrategyUpdated | ChangeLogEntryBudgetUpdatedEntryChangeRolloverUpdated | ChangeLogEntryBudgetUpdatedEntryChangeSpendUpdated union ChangeLogEntryBudgetUpdatedRecurringChange = ChangeLogEntryBudgetUpdatedRecurringChangeCreated | ChangeLogEntryBudgetUpdatedRecurringChangeIntervalUpdated | ChangeLogEntryBudgetUpdatedRecurringChangeRemoved | ChangeLogEntryBudgetUpdatedRecurringChangeRepeatUpdated | ChangeLogEntryBudgetUpdatedRecurringChangeRolloverStrategyUpdated | ChangeLogEntryBudgetUpdatedRecurringChangeTargetUpdated union ChangeLogEntryScanConfigurationUpdatedChange = ChangeLogEntryScanConfigurationUpdatedAdPlatformLimitsWarnPercentChange | ChangeLogEntryScanConfigurationUpdatedBrandCampaignImpressionShareCampaignIdentifiersChange | ChangeLogEntryScanConfigurationUpdatedChangeAccountConversionFilter | ChangeLogEntryScanConfigurationUpdatedChangeAccountConversionLookBackDays | ChangeLogEntryScanConfigurationUpdatedChangeAccountConversionNoConversionDaysFactor union Credential = OrganizationCredentialAmazon | OrganizationCredentialFacebook | OrganizationCredentialGoogle | OrganizationCredentialLinkedIn | OrganizationCredentialMicrosoft | OrganizationCredentialGoogleMerchantCenter union CredentialSyncRunStatus = CredentialSyncRunStatusFailure | CredentialSyncRunStatusPending | CredentialSyncRunStatusRunning | CredentialSyncRunStatusSuccess union DeviceConsoleCampaignDevice = DeviceConsoleCampaignDeviceClickThroughRate | DeviceConsoleCampaignDeviceConvValueCost | DeviceConsoleCampaignDeviceCostPerConversion | DeviceConsoleCampaignDeviceImpressions union DeviceConsoleCampaignDeviceBidAdjustment = DeviceConsoleCampaignDeviceBidAdjustmentGoogle | DeviceConsoleCampaignDeviceBidAdjustmentMicrosoftFixed | DeviceConsoleCampaignDeviceBidAdjustmentMicrosoftMultiplier union DeviceConsoleCampaignDevicePreviousBidAdjustment = DeviceConsoleCampaignDevicePreviousBidAdjustmentGoogle | DeviceConsoleCampaignDevicePreviousBidAdjustmentMicrosoftFixedValue | DeviceConsoleCampaignDevicePreviousBidAdjustmentMicrosoftMultiplier union DeviceConsoleStatus = DeviceConsoleStatusCompleted | DeviceConsoleStatusDisabled | DeviceConsoleStatusInitializing | DeviceConsoleStatusPending | DeviceConsoleStatusRunning | DeviceConsoleStatusSnoozed union Insight = InsightAccountAdGroupsNoActiveComponents | InsightAccountCampaignsNoImpressions | InsightAccountNoConversions | InsightAccountNoConversionsAll | InsightAccountNoConversionsSecondary | InsightAccountNoImpressions | InsightAdPlatformLimitsWarn | InsightAssetGroupsIssues | InsightAudienceManagerAdGroupNoAudience | InsightAudienceManagerCampaignNoAudience | InsightAutomaticallyGeneratedAssetsAdImages | InsightAutomaticallyGeneratedAssetsAdLongerHeadlines | InsightAutomaticallyGeneratedAssetsBusinessLogos | InsightAutomaticallyGeneratedAssetsBusinessNames | InsightAutomaticallyGeneratedAssetsCallouts | InsightAutomaticallyGeneratedAssetsStructuredSnippets | InsightBrandCampaignISBudget | InsightBrandCampaignISRank | InsightBudgetAllocationRecommendation | InsightCloseVariantsGood | InsightCloseVariantsHighSpend | InsightCloseVariantsPoor | InsightDisapprovedAds | InsightKeywordDuplicates | InsightKeywordsIssues | InsightLimitedAds | InsightLinkCheckAds | InsightLinkedInPoorOffsitePerformance | InsightLocationTargetInterestIn | InsightMicrosoftConnectionMissing | InsightMicrosoftShoppingDynamicRemarketingMissing | InsightNegativeKeywordConflicts | InsightNoRecentChanges | InsightNotDeliveringAds | InsightPlatformRecommendations | InsightPoorSearchPartnerPerformance | InsightProductsIssues | InsightSearchCampaignWithDisplay | InsightSearchTermsBlockedConverters | InsightSiteLinkAutomatic | InsightSiteLinkAutomaticCheck | InsightSiteLinkCheck | InsightThirdPartyChanges union InsightDetailed = InsightDetailedAccountAdGroupsNoActiveComponents | InsightDetailedAccountCampaignsNoImpressions | InsightDetailedAccountNoConversions | InsightDetailedAccountNoConversionsAll | InsightDetailedAccountNoConversionsSecondary | InsightDetailedAccountNoImpressions | InsightDetailedAdPlatformLimitsWarn | InsightDetailedAutomaticallyGeneratedAssetsAdImages | InsightDetailedAutomaticallyGeneratedAssetsAdLongerHeadlines | InsightDetailedAutomaticallyGeneratedAssetsBusinessLogos | InsightDetailedAutomaticallyGeneratedAssetsBusinessNames | InsightDetailedAutomaticallyGeneratedAssetsCallouts | InsightDetailedAutomaticallyGeneratedAssetsStructuredSnippets | InsightDetailedBrandCampaignISBudget | InsightDetailedBrandCampaignISRank | InsightDetailedDisapprovedAds | InsightDetailedKeywordDuplicates | InsightDetailedLimitedAds | InsightDetailedLinkCheckAds | InsightDetailedLinkedInPoorOffsitePerformance | InsightDetailedLocationTargetInterestIn | InsightDetailedMicrosoftConnectionMissing | InsightDetailedMicrosoftShoppingDynamicRemarketingMissing | InsightDetailedNegativeKeywordConflicts | InsightDetailedNoRecentChanges | InsightDetailedNotDeliveringAds | InsightDetailedPlatformRecommendations | InsightDetailedPoorSearchPartnerPerformance | InsightDetailedSearchCampaignWithDisplay | InsightDetailedSiteLinkAutomatic | InsightDetailedSiteLinkAutomaticCheck | InsightDetailedSiteLinkCheck | InsightDetailedThirdPartyChanges union InsightDetailedAdPlatformLimitsWarnItem = InsightDetailedAdPlatformLimitsWarnItemAccountListNegativeKeywords | InsightDetailedAdPlatformLimitsWarnItemAdGroupCriterion | InsightDetailedAdPlatformLimitsWarnItemAdGroupKeywords | InsightDetailedAdPlatformLimitsWarnItemAdGroupNegativeKeywords | InsightDetailedAdPlatformLimitsWarnItemAdGroupPlacementExclusions | InsightDetailedAdPlatformLimitsWarnItemCampaignListNegativeKeywords | InsightDetailedAdPlatformLimitsWarnItemCampaignNegativeKeywords | InsightDetailedAdPlatformLimitsWarnItemCampaignPlacementExclusions | InsightDetailedAdPlatformLimitsWarnItemPlacementExclusionListItems union InsightDetailedAutomaticallyGeneratedAssetsLevel = InsightDetailedAutomaticallyGeneratedAssetsLevelAdAccount | InsightDetailedAutomaticallyGeneratedAssetsLevelAdGroup | InsightDetailedAutomaticallyGeneratedAssetsLevelCampaign union InsightDetailedLinkedInPoorOffsitePerformanceCampaignStrategy = InsightDetailedLinkedInPoorOffsitePerformanceCampaignStrategyClickThroughRate | InsightDetailedLinkedInPoorOffsitePerformanceCampaignStrategyConvValueCost | InsightDetailedLinkedInPoorOffsitePerformanceCampaignStrategyCostPerConversion | InsightDetailedLinkedInPoorOffsitePerformanceCampaignStrategyImpressions union InsightDetailedLocationTargetInterestInDetail = InsightLocationTargetInterestInAdGroup | InsightLocationTargetInterestInCampaign union InsightDetailedNegativeKeywordConflictsConflictNegativeKeywordLevel = InsightDetailedNegativeKeywordConflictsConflictNegativeKeywordLevelAdGroup | InsightDetailedNegativeKeywordConflictsConflictNegativeKeywordLevelCampaign | InsightDetailedNegativeKeywordConflictsConflictNegativeKeywordLevelSharedList union InsightDetailedPoorSearchPartnerPerformanceCampaign = InsightDetailedPoorSearchPartnerPerformanceCampaignClickThroughRate | InsightDetailedPoorSearchPartnerPerformanceCampaignConvValueCost | InsightDetailedPoorSearchPartnerPerformanceCampaignCostPerConversion | InsightDetailedPoorSearchPartnerPerformanceCampaignImpressions union InsightLinkCheckAdsLinkClassification = InsightLinkCheckAdsLinkClassification404 | InsightLinkCheckAdsLinkClassificationSSLCertificateExpired | InsightLinkCheckAdsLinkClassificationUnknownHost union InsightPlatformRecommendationsImpact = InsightPlatformRecommendationsImpactMetricsUplift | InsightPlatformRecommendationsImpactScore union InsightSearchTermsCampaignSearchTermCampaignStrategy = InsightSearchTermsCampaignSearchTermCampaignClickThroughRate | InsightSearchTermsCampaignSearchTermCampaignConvValueCost | InsightSearchTermsCampaignSearchTermCampaignCostPerConversion | InsightSearchTermsCampaignSearchTermCampaignImpressions union InsightSiteLinkAutomaticCheckLink = InsightSiteLinkAutomaticCheckLinkAdAccountLink | InsightSiteLinkAutomaticCheckLinkAdGroupLink | InsightSiteLinkAutomaticCheckLinkCampaignLink union InsightSiteLinkAutomaticLink = InsightSiteLinkAutomaticLinkAdAccountLink | InsightSiteLinkAutomaticLinkAdGroupLink | InsightSiteLinkAutomaticLinkCampaignLink union InsightSiteLinkCheckLink = InsightSiteLinkCheckLinkAdAccountLink | InsightSiteLinkCheckLinkAdGroupLink | InsightSiteLinkCheckLinkCampaignLink union InsightSiteLinkCheckLinkClassification = InsightSiteLinkCheckLinkClassification404 | InsightSiteLinkCheckLinkClassificationSSLCertificateExpired | InsightSiteLinkCheckLinkClassificationUnknownHost union InsightSiteLinkCheckLinkIssue = InsightSiteLinkCheckLinkIssueDisapproved | InsightSiteLinkCheckLinkIssueErrors union Keyword = KeywordAmazon | KeywordGoogle | KeywordMicrosoft union KeywordConsoleCampaignAdGroupKeyword = KeywordConsoleCampaignAdGroupKeywordClickThroughRate | KeywordConsoleCampaignAdGroupKeywordConvValueCost | KeywordConsoleCampaignAdGroupKeywordCostPerConversion | KeywordConsoleCampaignAdGroupKeywordImpressions union KeywordConsoleCampaignKeywordClassification = KeywordConsoleCampaignKeywordClassificationIgnored | KeywordConsoleCampaignKeywordClassificationIssues | KeywordConsoleCampaignKeywordClassificationLowData | KeywordConsoleCampaignKeywordClassificationNoClicks | KeywordConsoleCampaignKeywordClassificationPerformanceAverage | KeywordConsoleCampaignKeywordClassificationPerformanceBad | KeywordConsoleCampaignKeywordClassificationPerformanceGood | KeywordConsoleCampaignKeywordClassificationSpendAverage | KeywordConsoleCampaignKeywordClassificationSpendHigh | KeywordConsoleCampaignKeywordClassificationSpendLow union KeywordConsoleCampaignV2Benchmark = KeywordConsoleCampaignV2BenchmarkClickThroughRate | KeywordConsoleCampaignV2BenchmarkConvValueCost | KeywordConsoleCampaignV2BenchmarkCostPerConversion | KeywordConsoleCampaignV2BenchmarkImpressions union KeywordConsoleStatus = KeywordConsoleStatusCompleted | KeywordConsoleStatusDisabled | KeywordConsoleStatusInitializing | KeywordConsoleStatusPending | KeywordConsoleStatusRunning | KeywordConsoleStatusSnoozed union KeywordExtra = KeywordExtraAdAccount | KeywordExtraAdGroup | KeywordExtraCampaign union MerchantProduct = MerchantProductGoogle | MerchantProductMicrosoft union MetricChangeAlertDefinitionComparison = MetricChangeAlertDefinitionComparisonFluctuation | MetricChangeAlertDefinitionComparisonThreshold union MetricChangeAlertDefinitionComparisonFluctuationValue = MetricChangeAlertDefinitionComparisonFluctuationValuePercentage | MetricChangeAlertDefinitionComparisonFluctuationValueStandardDeviation union MetricChangeAlertDefinitionComparisonResult = MetricChangeAlertDefinitionComparisonResultPercentage | MetricChangeAlertDefinitionComparisonResultStandardDeviation | MetricChangeAlertDefinitionComparisonResultValue union NGramConsoleCampaign = NGramConsoleCampaignClickThroughRate | NGramConsoleCampaignConvValueCost | NGramConsoleCampaignCostPerConversion | NGramConsoleCampaignImpressions union NGramConsoleCampaignNGramClassification = NGramConsoleCampaignNGramClassificationIgnored | NGramConsoleCampaignNGramClassificationLowData | NGramConsoleCampaignNGramClassificationNoClicks | NGramConsoleCampaignNGramClassificationPerformanceAverage | NGramConsoleCampaignNGramClassificationPerformanceBad | NGramConsoleCampaignNGramClassificationPerformanceGood | NGramConsoleCampaignNGramClassificationSpendAverage | NGramConsoleCampaignNGramClassificationSpendHigh | NGramConsoleCampaignNGramClassificationSpendLow | NGramConsoleCampaignNGramClassificationStoppedServing union NGramConsoleCampaignNGramStoppedServingNegativeKeywordMatchLevel = NGramConsoleCampaignNGramStoppedServingNegativeKeywordMatchLevelAccount | NGramConsoleCampaignNGramStoppedServingNegativeKeywordMatchLevelAdGroup | NGramConsoleCampaignNGramStoppedServingNegativeKeywordMatchLevelCampaign | NGramConsoleCampaignNGramStoppedServingNegativeKeywordMatchLevelSharedList union NGramConsoleStatus = NGramConsoleStatusCompleted | NGramConsoleStatusDisabled | NGramConsoleStatusInitializing | NGramConsoleStatusPending | NGramConsoleStatusRunning | NGramConsoleStatusSnoozed union NegativeKeyword = NegativeKeywordAmazon | NegativeKeywordGoogle | NegativeKeywordMicrosoft union OrganizationCredential = OrganizationCredentialAmazon | OrganizationCredentialFacebook | OrganizationCredentialGoogle | OrganizationCredentialLinkedIn | OrganizationCredentialMicrosoft union OrganizationMerchantCredential = OrganizationCredentialGoogleMerchantCenter union OrganizationStatus = OrganizationStatusActive | OrganizationStatusPastDue | OrganizationStatusSuspended | OrganizationStatusTrialExpired | OrganizationStatusTrialing union PerformanceCampaign = CampaignAmazon | CampaignFacebookNormal | CampaignFacebookDistributedBudget | CampaignGoogle | CampaignLinkedIn | CampaignMicrosoft union PerformanceHighlight = PerformanceHighlightAdGroupDecreaseBids | PerformanceHighlightAdGroupIncreaseBids | PerformanceHighlightAdGroupPause | PerformanceHighlightAssetGroupPause | PerformanceHighlightAudienceDecreaseBidAdjustment | PerformanceHighlightAudienceIncreaseBidAdjustment | PerformanceHighlightCampaignDecreaseBids | PerformanceHighlightCampaignIncreaseBids | PerformanceHighlightDeviceDecreaseBidAdjustment | PerformanceHighlightDeviceDecreaseBidAdjustmentMaximum | PerformanceHighlightDeviceIncreaseBidAdjustment | PerformanceHighlightKeywordPause | PerformanceHighlightNGramAddKeyword | PerformanceHighlightNGramAddNegativeKeyword | PerformanceHighlightPublisherExclude | PerformanceHighlightSearchTermAddKeyword | PerformanceHighlightSearchTermAddNegativeKeyword union PreviousBidAdjustment = PreviousBidAdjustmentGoogle | PreviousBidAdjustmentMicrosoftFixedValue | PreviousBidAdjustmentMicrosoftMultiplier union ProductConsoleProductClassification = ProductConsoleProductClassificationIgnored | ProductConsoleProductClassificationIssues | ProductConsoleProductClassificationLowData | ProductConsoleProductClassificationNoClicks | ProductConsoleProductClassificationPerformanceAverage | ProductConsoleProductClassificationPerformanceBad | ProductConsoleProductClassificationPerformanceGood | ProductConsoleProductClassificationSpendAverage | ProductConsoleProductClassificationSpendHigh | ProductConsoleProductClassificationSpendLow union ProductConsoleProductClassificationIssue = ProductConsoleProductClassificationIssueDisapproved | ProductConsoleProductClassificationIssueExpires union ProductConsoleProductGroup = ProductConsoleProductGroupAdGroup | ProductConsoleProductGroupAssetGroup union ProductConsoleStatus = ProductConsoleStatusCompleted | ProductConsoleStatusDisabled | ProductConsoleStatusInitializing | ProductConsoleStatusPending | ProductConsoleStatusRunning | ProductConsoleStatusSnoozed union PublisherConsoleCampaign = PublisherConsoleCampaignClickThroughRate | PublisherConsoleCampaignConvValueCost | PublisherConsoleCampaignCostPerConversion | PublisherConsoleCampaignImpressions union PublisherConsoleCampaignAdGroupPublisherPublisher = PublisherConsoleCampaignAdGroupPublisherPublisherFacebook | PublisherConsoleCampaignAdGroupPublisherPublisherWebsite union PublisherConsoleStatus = PublisherConsoleStatusCompleted | PublisherConsoleStatusDisabled | PublisherConsoleStatusInitializing | PublisherConsoleStatusPending | PublisherConsoleStatusRunning | PublisherConsoleStatusSnoozed union ScanDefinition = ScanDefinitionAccountConversions | ScanDefinitionAccountNotServing | ScanDefinitionAdGroupPerformance | ScanDefinitionAdPlatformLimits | ScanDefinitionAssetGroupPerformance | ScanDefinitionAudienceManager | ScanDefinitionAudiencePerformance | ScanDefinitionAutomaticallyGeneratedAssets | ScanDefinitionBrandCampaignImpressionShare | ScanDefinitionBudgetAllocationRecommendation | ScanDefinitionCampaignPerformance | ScanDefinitionCloseVariants | ScanDefinitionDevicePerformance | ScanDefinitionDisapprovedAds | ScanDefinitionKeywordConflicts | ScanDefinitionKeywordPerformance | ScanDefinitionLinkCheck | ScanDefinitionLinkedInCampaignPlacements | ScanDefinitionLocationTarget | ScanDefinitionMicrosoftConnection | ScanDefinitionMicrosoftShoppingDynamicRemarketing | ScanDefinitionNGramPerformance | ScanDefinitionNegativeKeywordConflicts | ScanDefinitionNoRecentChanges | ScanDefinitionPlatformRecommendations | ScanDefinitionProductPerformance | ScanDefinitionPublisherPerformance | ScanDefinitionSearchCampaignWithDisplay | ScanDefinitionSearchTermPerformance | ScanDefinitionSiteLink | ScanDefinitionThirdPartyChanges union ScanStatus = ScanStatusDisabled | ScanStatusInitializing | ScanStatusPending | ScanStatusRan | ScanStatusRunning | ScanStatusSnoozed union ScanSubTypeStatus = ScanSubTypeStatusAction | ScanSubTypeStatusDisabled | ScanSubTypeStatusEnabled | ScanSubTypeStatusSnoozed union SearchTermCloseVariantsAutoNegatives = SearchTermCloseVariantsAutoNegativesAdGroup | SearchTermCloseVariantsAutoNegativesCampaign | SearchTermCloseVariantsAutoNegativesSharedList union SearchTermCloseVariantsConsoleOverviewMetrics = SearchTermCloseVariantsConsoleOverviewMetricsClickThroughRate | SearchTermCloseVariantsConsoleOverviewMetricsConvValueCost | SearchTermCloseVariantsConsoleOverviewMetricsCostPerConversion | SearchTermCloseVariantsConsoleOverviewMetricsImpressions union SearchTermCloseVariantsConsoleSearchTermMetrics = SearchTermCloseVariantsConsoleSearchTermMetricsClickThroughRate | SearchTermCloseVariantsConsoleSearchTermMetricsConvValueCost | SearchTermCloseVariantsConsoleSearchTermMetricsCostPerConversion | SearchTermCloseVariantsConsoleSearchTermMetricsImpressions union SearchTermCloseVariantsConsoleSearchTermStatus = SearchTermCloseVariantsConsoleSearchTermStatusAllowed | SearchTermCloseVariantsConsoleSearchTermStatusBlocked | SearchTermCloseVariantsConsoleSearchTermStatusReview union SearchTermCloseVariantsConsoleSearchTermStatusBlockedNegativeKeywordLevel = SearchTermCloseVariantsConsoleSearchTermStatusBlockedNegativeKeywordLevelAccount | SearchTermCloseVariantsConsoleSearchTermStatusBlockedNegativeKeywordLevelAdGroup | SearchTermCloseVariantsConsoleSearchTermStatusBlockedNegativeKeywordLevelCampaign | SearchTermCloseVariantsConsoleSearchTermStatusBlockedNegativeKeywordLevelSharedList union SearchTermCloseVariantsConsoleStatus = SearchTermCloseVariantsConsoleStatusCompleted | SearchTermCloseVariantsConsoleStatusDisabled | SearchTermCloseVariantsConsoleStatusInitializing | SearchTermCloseVariantsConsoleStatusPending | SearchTermCloseVariantsConsoleStatusRunning | SearchTermCloseVariantsConsoleStatusSnoozed union SearchTermConsoleCampaignSearchTerm = SearchTermConsoleCampaignSearchTermClickThroughRate | SearchTermConsoleCampaignSearchTermConvValueCost | SearchTermConsoleCampaignSearchTermCostPerConversion | SearchTermConsoleCampaignSearchTermImpressions union SearchTermConsoleCampaignSearchTermBlockedReason = SearchTermConsoleCampaignSearchTermBlockedReasonAllAdGroupsPaused | SearchTermConsoleCampaignSearchTermBlockedReasonAllKeywordsPaused | SearchTermConsoleCampaignSearchTermBlockedReasonNegativeKeywordAtAdGroup | SearchTermConsoleCampaignSearchTermBlockedReasonNegativeKeywordAtCampaign | SearchTermConsoleCampaignSearchTermBlockedReasonNegativeKeywordAtSharedList | SearchTermConsoleCampaignSearchTermBlockedReasonOther union SearchTermConsoleSearchTermClassification = SearchTermConsoleSearchTermClassificationIgnored | SearchTermConsoleSearchTermClassificationLowData | SearchTermConsoleSearchTermClassificationNoClicks | SearchTermConsoleSearchTermClassificationPerformanceAverage | SearchTermConsoleSearchTermClassificationPerformanceBad | SearchTermConsoleSearchTermClassificationPerformanceGood | SearchTermConsoleSearchTermClassificationSpendAverage | SearchTermConsoleSearchTermClassificationSpendHigh | SearchTermConsoleSearchTermClassificationSpendLow | SearchTermConsoleSearchTermClassificationStoppedServing union SearchTermConsoleStatus = SearchTermConsoleStatusCompleted | SearchTermConsoleStatusDisabled | SearchTermConsoleStatusInitializing | SearchTermConsoleStatusPending | SearchTermConsoleStatusRunning | SearchTermConsoleStatusSnoozed union StripePaymentMethod = StripePaymentMethodCard union StripePriceAmount = StripePriceAmountPerUnit | StripePriceAmountTiered union UserInvitationStatus = UserInvitationStatusAccepted | UserInvitationStatusDeclined | UserInvitationStatusPending | UserInvitationStatusRevoked enum ASTExpressionOperator { Equals GreaterThan GreaterThanEqualTo LessThan LessThanEqualTo NotEquals } enum AccessibleAdAccountConnectionOrderColumn { linked_inserted name } enum AccessibleAdAccountError { EXPIRED INITIALIZING INVALID } enum AccessibleAdAccountManagerConnectionOrderColumn { name } enum AdAccountConnectionOrderColumn { name platform } enum AdAccountPerformanceConnectionOrderColumn { account_id account_name click_through_rate clicks conv_value_cost conversion_rate conversions conversions_value cost cost_of_sales cost_per_click cost_per_conversion impressions spend } enum AdGoogleType { app app_engagement app_legacy_install app_pre_registration call demand_gen_carousel demand_gen_multi_asset demand_gen_product demand_gen_video_responsive expanded_dynamic_search expanded_text hotel html5_dynamic html5_upload image legacy_responsive_display local responsive_display responsive_search smart_campaign text travel video_bumper video_in_feed video_non_skippable_in_stream video_original video_outstream video_responsive video_true_view_in_stream } enum AdGroupConnectionOrderColumn { name status status_v2 } enum AdGroupConsoleCampaignAdGroupOrderColumn { ad_group_name campaign_name day_180_click_through_rate day_180_clicks day_180_conv_value_cost day_180_conversion_rate day_180_conversions day_180_conversions_value day_180_cost day_180_cost_of_sales day_180_cost_per_click day_180_cost_per_conversion day_180_impressions day_180_performance day_30_click_through_rate day_30_clicks day_30_conv_value_cost day_30_conversion_rate day_30_conversions day_30_conversions_value day_30_cost day_30_cost_of_sales day_30_cost_per_click day_30_cost_per_conversion day_30_impressions day_30_performance day_365_click_through_rate day_365_clicks day_365_conv_value_cost day_365_conversion_rate day_365_conversions day_365_conversions_value day_365_cost day_365_cost_of_sales day_365_cost_per_click day_365_cost_per_conversion day_365_impressions day_365_performance day_60_click_through_rate day_60_clicks day_60_conv_value_cost day_60_conversion_rate day_60_conversions day_60_conversions_value day_60_cost day_60_cost_of_sales day_60_cost_per_click day_60_cost_per_conversion day_60_impressions day_60_performance day_90_click_through_rate day_90_clicks day_90_conv_value_cost day_90_conversion_rate day_90_conversions day_90_conversions_value day_90_cost day_90_cost_of_sales day_90_cost_per_click day_90_cost_per_conversion day_90_impressions day_90_performance } enum AdGroupConsoleClassification { IGNORED LOW_DATA NO_CLICKS PERFORMANCE_AVERAGE PERFORMANCE_BAD PERFORMANCE_GOOD SPEND_AVERAGE SPEND_HIGH SPEND_LOW } enum AdGroupConsoleOrderColumn { ad_account_name num_ignored num_low_data num_no_clicks num_performance_average num_performance_bad num_performance_good num_spend_average num_spend_high num_spend_low } enum AdMicrosoftType { app_install dynamic_search expanded_text responsive responsive_search } enum AdPlatform { amazon facebook google linkedin microsoft } enum AlertType { ad_account_credential_failure ad_accounts_inaccessible budget_adjustment_all_budgets_locked budget_adjustment_error budget_adjustment_first_run_larger_than_prev budget_adjustment_large_increase budget_auto_functionality_disabled budget_campaigns_paused budget_campaigns_unpaused budget_custom_alert budget_rollover_truncated budget_spend_over_threshold budget_with_campaign_budgets_at_minimum budget_with_campaign_budgets_at_platform_minimum close_variants_auto_negatives_error credential_invalid hubspot_connection_invalid insight_alert metric_change } enum AmazonKeywordMatchType { broad exact phrase } enum AmazonRegion { EU FE NA } enum AssetGroupConsoleAssetGroupAdStrength { average excellent good no_ads pending poor } enum AssetGroupConsoleCampaignAssetGroupOrderColumn { asset_group_name campaign_name day_180_click_through_rate day_180_clicks day_180_conv_value_cost day_180_conversion_rate day_180_conversions day_180_conversions_value day_180_cost day_180_cost_of_sales day_180_cost_per_click day_180_cost_per_conversion day_180_impressions day_180_performance day_30_click_through_rate day_30_clicks day_30_conv_value_cost day_30_conversion_rate day_30_conversions day_30_conversions_value day_30_cost day_30_cost_of_sales day_30_cost_per_click day_30_cost_per_conversion day_30_impressions day_30_performance day_365_click_through_rate day_365_clicks day_365_conv_value_cost day_365_conversion_rate day_365_conversions day_365_conversions_value day_365_cost day_365_cost_of_sales day_365_cost_per_click day_365_cost_per_conversion day_365_impressions day_365_performance day_60_click_through_rate day_60_clicks day_60_conv_value_cost day_60_conversion_rate day_60_conversions day_60_conversions_value day_60_cost day_60_cost_of_sales day_60_cost_per_click day_60_cost_per_conversion day_60_impressions day_60_performance day_90_click_through_rate day_90_clicks day_90_conv_value_cost day_90_conversion_rate day_90_conversions day_90_conversions_value day_90_cost day_90_cost_of_sales day_90_cost_per_click day_90_cost_per_conversion day_90_impressions day_90_performance } enum AssetGroupConsoleCampaignAssetGroupStatus { enabled paused } enum AssetGroupConsoleCampaignStatus { enabled paused } enum AssetGroupConsoleClassification { IGNORED ISSUES LOW_DATA NO_CLICKS PERFORMANCE_AVERAGE PERFORMANCE_BAD PERFORMANCE_GOOD SPEND_AVERAGE SPEND_HIGH SPEND_LOW } enum AssetGroupConsoleOrderColumn { ad_account_name num_ignored num_issues num_low_data num_no_clicks num_performance_average num_performance_bad num_performance_good num_spend_average num_spend_high num_spend_low } enum AssetGroupConsoleResultType { all enabled_only } enum AudienceConsoleCampaignAdGroupAudienceOrderColumn { ad_group_name audience_name campaign_name day_180_click_through_rate day_180_clicks day_180_conv_value_cost day_180_conversion_rate day_180_conversions day_180_conversions_value day_180_cost day_180_cost_of_sales day_180_cost_per_click day_180_cost_per_conversion day_180_impressions day_180_performance day_30_click_through_rate day_30_clicks day_30_conv_value_cost day_30_conversion_rate day_30_conversions day_30_conversions_value day_30_cost day_30_cost_of_sales day_30_cost_per_click day_30_cost_per_conversion day_30_impressions day_30_performance day_365_click_through_rate day_365_clicks day_365_conv_value_cost day_365_conversion_rate day_365_conversions day_365_conversions_value day_365_cost day_365_cost_of_sales day_365_cost_per_click day_365_cost_per_conversion day_365_impressions day_365_performance day_60_click_through_rate day_60_clicks day_60_conv_value_cost day_60_conversion_rate day_60_conversions day_60_conversions_value day_60_cost day_60_cost_of_sales day_60_cost_per_click day_60_cost_per_conversion day_60_impressions day_60_performance day_90_click_through_rate day_90_clicks day_90_conv_value_cost day_90_conversion_rate day_90_conversions day_90_conversions_value day_90_cost day_90_cost_of_sales day_90_cost_per_click day_90_cost_per_conversion day_90_impressions day_90_performance } enum AudienceConsoleClassification { IGNORED LOW_DATA NO_CLICKS PERFORMANCE_AVERAGE PERFORMANCE_BAD PERFORMANCE_GOOD SPEND_AVERAGE SPEND_HIGH SPEND_LOW } enum AudienceConsoleOrderColumn { ad_account_name num_ignored num_low_data num_no_clicks num_performance_average num_performance_bad num_performance_good num_spend_average num_spend_high num_spend_low } enum AudienceManagerCampaignAdGroupOrderColumn { ad_group_name campaign_name day_14_click_through_rate day_14_clicks day_14_conv_value_cost day_14_conversion_rate day_14_conversions day_14_conversions_value day_14_cost day_14_cost_of_sales day_14_cost_per_click day_14_cost_per_conversion day_14_impressions day_30_click_through_rate day_30_clicks day_30_conv_value_cost day_30_conversion_rate day_30_conversions day_30_conversions_value day_30_cost day_30_cost_of_sales day_30_cost_per_click day_30_cost_per_conversion day_30_impressions day_60_click_through_rate day_60_clicks day_60_conv_value_cost day_60_conversion_rate day_60_conversions day_60_conversions_value day_60_cost day_60_cost_of_sales day_60_cost_per_click day_60_cost_per_conversion day_60_impressions day_7_click_through_rate day_7_clicks day_7_conv_value_cost day_7_conversion_rate day_7_conversions day_7_conversions_value day_7_cost day_7_cost_of_sales day_7_cost_per_click day_7_cost_per_conversion day_7_impressions day_90_click_through_rate day_90_clicks day_90_conv_value_cost day_90_conversion_rate day_90_conversions day_90_conversions_value day_90_cost day_90_cost_of_sales day_90_cost_per_click day_90_cost_per_conversion day_90_impressions } enum AudienceManagerClassification { AD_GROUP_NO_AUDIENCE AD_GROUP_OBSERVATION AD_GROUP_TARGETING CAMPAIGN_NO_AUDIENCE CAMPAIGN_OBSERVATION CAMPAIGN_TARGETING IGNORED NOT_APPLICABLE } enum AudienceManagerOrderColumn { ad_account_name num_ad_groups_no_audience num_ad_groups_observation num_ad_groups_targeting num_campaigns_no_audience num_campaigns_observation num_campaigns_targeting num_ignored num_not_applicable } enum AudienceManagerTargetingType { observation targeting } enum AudienceSource { platform user } enum AudiencesGoogleType { audience combined custom user_interest user_list } enum BudgetAlertDefinitionCheckDefinitionOperator { BudgetAlertDefinitionCheckDefinitionOperatorGreaterThan BudgetAlertDefinitionCheckDefinitionOperatorLessThan } enum BudgetAlertDefinitionSelectedBudgetsConnectionOrderColumn { name } enum BudgetAutoAdjustVersion { v1 v2 } enum BudgetCampaignBudgetConnectionOrderColumn { daily_amount last_28_days_average_spend last_28_days_click_through_rate last_28_days_clicks last_28_days_conv_value_cost last_28_days_conversion_rate last_28_days_conversions last_28_days_conversions_value last_28_days_cost last_28_days_cost_of_sales last_28_days_cost_per_click last_28_days_cost_per_conversion last_28_days_impressions last_7_days_average_spend max_spend name recommended_amount recommended_amount_variance status } enum BudgetConflictType { adjust pause suspend } enum BudgetConnectionOrderColumn { client_name conv_value_cost cost_per_conversion kpi_percentage name pacing rollover total_budget } enum BudgetEntryOrderColumn { from to } enum BudgetHistorySummaryPeriod { days_14 days_28 days_7 } enum BudgetPacingType { linear } enum BudgetPerformanceCardMetric { average_order_value click_through_rate clicks clicks_per_conversion conv_value_cost conversion_rate conversions conversions_value cost cost_of_sales cost_per_click cost_per_conversion impressions } enum BudgetRollOverStrategyType { all max_amount max_percentage zero } enum BudgetScheduleRepeatType { daily monthly weekly } enum BudgetTreeConnectionOrderColumn { conv_value_cost cost_per_conversion kpi_percentage name only_ad_account_name_or_budget_name pacing rollover total_budget } enum CampaignAmazonType { sponsored_brands sponsored_display sponsored_products } enum CampaignBudgetConnectionOrderColumn { daily_amount last_28_days_average_spend last_28_days_click_through_rate last_28_days_clicks last_28_days_conv_value_cost last_28_days_conversion_rate last_28_days_conversions last_28_days_conversions_value last_28_days_cost last_28_days_cost_of_sales last_28_days_cost_per_click last_28_days_cost_per_conversion last_28_days_impressions last_7_days_average_spend max_spend name status status_v2 } enum CampaignConnectionOrderColumn { name status status_v2 } enum CampaignConsoleCampaignOrderColumn { campaign_name day_180_click_through_rate day_180_clicks day_180_conv_value_cost day_180_conversion_rate day_180_conversions day_180_conversions_value day_180_cost day_180_cost_of_sales day_180_cost_per_click day_180_cost_per_conversion day_180_impressions day_180_performance day_30_click_through_rate day_30_clicks day_30_conv_value_cost day_30_conversion_rate day_30_conversions day_30_conversions_value day_30_cost day_30_cost_of_sales day_30_cost_per_click day_30_cost_per_conversion day_30_impressions day_30_performance day_365_click_through_rate day_365_clicks day_365_conv_value_cost day_365_conversion_rate day_365_conversions day_365_conversions_value day_365_cost day_365_cost_of_sales day_365_cost_per_click day_365_cost_per_conversion day_365_impressions day_365_performance day_60_click_through_rate day_60_clicks day_60_conv_value_cost day_60_conversion_rate day_60_conversions day_60_conversions_value day_60_cost day_60_cost_of_sales day_60_cost_per_click day_60_cost_per_conversion day_60_impressions day_60_performance day_90_click_through_rate day_90_clicks day_90_conv_value_cost day_90_conversion_rate day_90_conversions day_90_conversions_value day_90_cost day_90_cost_of_sales day_90_cost_per_click day_90_cost_per_conversion day_90_impressions day_90_performance } enum CampaignConsoleClassification { IGNORED LOW_DATA NO_CLICKS PERFORMANCE_AVERAGE PERFORMANCE_BAD PERFORMANCE_GOOD SPEND_AVERAGE SPEND_HIGH SPEND_LOW } enum CampaignConsoleOrderColumn { ad_account_name num_ignored num_low_data num_no_clicks num_performance_average num_performance_bad num_performance_good num_spend_average num_spend_high num_spend_low } enum CampaignGoogleBiddingStrategyTargetImpressionShareLocation { absolute_top_of_page anywhere_on_page top_of_page } enum CampaignGoogleType { demand_gen discovery display hotel local multi_channel performance_max search shopping smart travel video } enum CampaignMicrosoftBiddingSchemeTargetAdPosition { FirstPage MainLine MainLine1 } enum CampaignMicrosoftType { app audience hotel performance_max search shopping } enum ChangeLogEntryActionsExecutedType { ad_group_paused ad_group_setting_updated ad_group_unpaused ad_paused ad_removed ad_set_paused ad_set_remove_placements ad_set_unpaused ad_unpaused adset_budget_daily_amount_updated adset_name_updated asset_group_paused asset_group_unpaused asset_paused asset_unassociated audience_added audience_updated bid_adjustment_updated bid_strategy_updated budget_name_updated campaign_budget_daily_amount_updated campaign_budget_name_updated campaign_group_name_updated campaign_group_paused campaign_group_unpaused campaign_name_updated campaign_paused campaign_setting_updated campaign_unpaused display_excluded keyword_added keyword_paused keyword_removed keyword_unpaused label_added label_removed location_updated negative_added negative_removed product_excluded publisher_excluded recommendation_dismissed search_partner_excluded shared_budget_daily_amount_updated sitelink_paused sitelink_removed url_updated } enum ChangeLogType { actions_executed ad_account_credential_overrides_for_mutations_updated ad_account_insight_alert_definition_created ad_account_insight_alert_definition_deleted ad_account_insight_alert_definition_updated ad_account_insight_alert_setting_updated alert_archived api_token_created api_token_revoked budget_alert_created budget_alert_definition_created budget_alert_definition_deleted budget_alert_definition_updated budget_alert_deleted budget_campaign_budget_locking budget_campaign_budget_range budget_created_custom budget_created_google_account budget_deleted budget_performance_card_created budget_performance_card_deleted budget_performance_card_updated budget_template_created budget_template_deleted budget_template_updated budget_updated campaign_budget_group_created campaign_budget_group_deleted campaign_budget_group_updated contact_created contact_deleted contact_updated credential_created credential_deleted credential_reordered credential_updated hubspot_ad_account_imported hubspot_integration_created hubspot_integration_deleted metric_change_alert_definition_created metric_change_alert_definition_deleted metric_change_alert_definition_updated msa_customer_signed_up note_created note_deleted note_updated organization_updated scan_configuration_updated tag_created tag_deleted tag_updated user_invitation_created user_invitation_resent user_invitation_revoked user_references_replaced } enum CountryCode { AD AE AF AG AI AL AM AO AQ AR AS AT AU AW AX AZ BA BB BD BE BF BG BH BI BJ BL BM BN BO BQ BR BS BT BV BW BY BZ CA CC CD CF CG CH CI CK CL CM CN CO CR CU CV CW CX CY CZ DE DJ DK DM DO DZ EC EE EG EH ER ES ET FI FJ FK FM FO FR GA GB GD GE GF GG GH GI GL GM GN GP GQ GR GS GT GU GW GY HK HM HN HR HT HU ID IE IL IM IN IO IQ IR IS IT JE JM JO JP KE KG KH KI KM KN KP KR KW KY KZ LA LB LC LI LK LR LS LT LU LV LY MA MC MD ME MF MG MH MK ML MM MN MO MP MQ MR MS MT MU MV MW MX MY MZ NA NC NE NF NG NI NL NO NP NR NU NZ OM PA PE PF PG PH PK PL PM PN PR PS PT PW PY QA RE RO RS RU RW SA SB SC SD SE SG SH SI SJ SK SL SM SN SO SR SS ST SV SX SY SZ TC TD TF TG TH TJ TK TL TM TN TO TR TT TV TW TZ UA UG UM US UY UZ VA VC VE VG VI VN VU WF WS XK YE YT ZA ZM ZW } enum CurrencyCode { AED AFN ALL AMD ANG AOA ARS AUD AWG AZN BAM BBD BDT BGN BHD BIF BMD BND BOB BOV BRL BSD BTN BWP BYN BZD CAD CDF CHE CHF CHW CLF CLP CNY COP COU CRC CUC CUP CVE CZK DJF DKK DOP DZD EGP ERN ETB EUR FJD FKP GBP GEL GHS GIP GMD GNF GTQ GYD HKD HNL HRK HTG HUF IDR ILS INR IQD IRR ISK JMD JOD JPY KES KGS KHR KMF KPW KRW KWD KYD KZT LAK LBP LKR LRD LSL LYD MAD MDL MGA MKD MMK MNT MOP MRU MUR MVR MWK MXN MXV MYR MZN NAD NGN NIO NOK NPR NZD OMR PAB PEN PGK PHP PKR PLN PYG QAR RON RSD RUB RWF SAR SBD SCR SDG SEK SGD SHP SLL SOS SRD SSP STN SVC SYP SZL THB TJS TMT TND TOP TRY TTD TWD TZS UAH UGX USD USN UYI UYU UYW UZS VES VND VUV WST XAF XCD XOF XPF YER ZAR ZMW ZWL } enum DayOfWeek { MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY SUNDAY } enum DeviceConsoleCampaignDeviceDevice { DeviceConsoleCampaignDeviceDeviceFacebookAndroidSmartphone DeviceConsoleCampaignDeviceDeviceFacebookAndroidTablet DeviceConsoleCampaignDeviceDeviceFacebookDesktop DeviceConsoleCampaignDeviceDeviceFacebookIPad DeviceConsoleCampaignDeviceDeviceFacebookIPhone DeviceConsoleCampaignDeviceDeviceFacebookOther DeviceConsoleCampaignDeviceDeviceGoogleDesktop DeviceConsoleCampaignDeviceDeviceGoogleMobile DeviceConsoleCampaignDeviceDeviceGoogleOther DeviceConsoleCampaignDeviceDeviceGoogleTV DeviceConsoleCampaignDeviceDeviceGoogleTablet DeviceConsoleCampaignDeviceDeviceLinkedInDesktopWeb DeviceConsoleCampaignDeviceDeviceLinkedInMobileApp DeviceConsoleCampaignDeviceDeviceLinkedInMobileWeb DeviceConsoleCampaignDeviceDeviceLinkedInTV DeviceConsoleCampaignDeviceDeviceLinkedInUndetected DeviceConsoleCampaignDeviceDeviceMicrosoftComputer DeviceConsoleCampaignDeviceDeviceMicrosoftNonSmartphone DeviceConsoleCampaignDeviceDeviceMicrosoftSmartphone DeviceConsoleCampaignDeviceDeviceMicrosoftTV DeviceConsoleCampaignDeviceDeviceMicrosoftTablet } enum DeviceConsoleCampaignDeviceOrderColumn { campaign_name day_180_click_through_rate day_180_clicks day_180_conv_value_cost day_180_conversion_rate day_180_conversions day_180_conversions_value day_180_cost day_180_cost_of_sales day_180_cost_per_click day_180_cost_per_conversion day_180_impressions day_180_performance day_30_click_through_rate day_30_clicks day_30_conv_value_cost day_30_conversion_rate day_30_conversions day_30_conversions_value day_30_cost day_30_cost_of_sales day_30_cost_per_click day_30_cost_per_conversion day_30_impressions day_30_performance day_365_click_through_rate day_365_clicks day_365_conv_value_cost day_365_conversion_rate day_365_conversions day_365_conversions_value day_365_cost day_365_cost_of_sales day_365_cost_per_click day_365_cost_per_conversion day_365_impressions day_365_performance day_60_click_through_rate day_60_clicks day_60_conv_value_cost day_60_conversion_rate day_60_conversions day_60_conversions_value day_60_cost day_60_cost_of_sales day_60_cost_per_click day_60_cost_per_conversion day_60_impressions day_60_performance day_90_click_through_rate day_90_clicks day_90_conv_value_cost day_90_conversion_rate day_90_conversions day_90_conversions_value day_90_cost day_90_cost_of_sales day_90_cost_per_click day_90_cost_per_conversion day_90_impressions day_90_performance device } enum DeviceConsoleCampaignStatus { enabled paused } enum DeviceConsoleClassification { IGNORED LOW_DATA NO_CLICKS PERFORMANCE_AVERAGE PERFORMANCE_BAD PERFORMANCE_GOOD SPEND_AVERAGE SPEND_HIGH SPEND_LOW } enum DeviceConsoleOrderColumn { ad_account_name num_ignored num_low_data num_no_clicks num_performance_average num_performance_bad num_performance_good num_spend_average num_spend_high num_spend_low } enum DeviceConsoleResultType { all enabled_only } enum DeviceType { android_smartphone android_tablet computer ipad iphone non_smart_phone other smart_phone tablet tv } enum FacebookAdSetBidStrategy { COST_CAP LOWEST_COST_WITHOUT_CAP LOWEST_COST_WITH_BID_CAP LOWEST_COST_WITH_MIN_ROAS TARGET_COST } enum FacebookAdSetOptimizationGoal { AD_RECALL_LIFT APP_INSTALLS APP_INSTALLS_AND_OFFSITE_CONVERSIONS BRAND_AWARENESS CLICKS CONVERSATIONS DERIVED_EVENTS ENGAGED_REACH ENGAGED_USERS EVENT_RESPONSES IMPRESSIONS IN_APP_VALUE LANDING_PAGE_VIEWS LEAD_GENERATION LINK_CLICKS MEANINGFUL_CALL_ATTEMPT MESSAGING_APPOINTMENT_CONVERSION MESSAGING_PURCHASE_CONVERSION NONE OFFER_CLAIMS OFFLINE_CONVERSIONS OFFSITE_CONVERSIONS ONSITE_CONVERSIONS PAGE_ENGAGEMENT PAGE_LIKES POST_ENGAGEMENT PROFILE_VISIT QUALITY_CALL QUALITY_LEAD REACH REMINDERS_SET REPLIES RETURN_ON_AD_SPEND SOCIAL_IMPRESSIONS SUBSCRIBERS THRUPLAY TWO_SECOND_CONTINUOUS_VIDEO_VIEWS VALUE VIDEO_VIEWS VISIT_INSTAGRAM_PROFILE } enum FacebookAdsPlacementPlatform { audience_network facebook instagram messenger } enum FacebookAdsPlacementPosition { biz_disco_feed classic explore explore_home facebook_reels facebook_reels_overlay feed group groups_feed ig_search igtv instant_article instream_video marketplace messenger_home messenger_inbox profile_feed profile_reels reels reels_overlay rewarded_video right_hand_column search shop story stream video_feeds } enum FacebookCampaignBidStrategy { COST_CAP LOWEST_COST_WITHOUT_CAP LOWEST_COST_WITH_BID_CAP LOWEST_COST_WITH_MIN_ROAS TARGET_COST } enum FacebookCampaignObjective { APP_INSTALLS BRAND_AWARENESS CONVERSIONS EVENT_RESPONSES LEAD_GENERATION LINK_CLICKS LOCAL_AWARENESS MESSAGES MOBILE_APP_INSTALLS NONE OFFER_CLAIMS OUTCOME_APP_PROMOTION OUTCOME_AWARENESS OUTCOME_ENGAGEMENT OUTCOME_LEADS OUTCOME_SALES OUTCOME_TRAFFIC PAGE_LIKES POST_ENGAGEMENT PRODUCT_CATALOG_SALES REACH STORE_VISITS VIDEO_VIEWS } enum GoogleAccountBudgetNotValid { limit_is_negative no_end no_limit start_before_end } enum GoogleAdsAdNetworkType { Display GoogleOwnedChannels GoogleTV Mixed Search SearchPartners Youtube } enum GoogleAdsAudienceType { audience combined custom user_interest user_list } enum GoogleAdsTargetingSettingDimension { age_range audience gender income_range keyword parental_status placement topic } enum GoogleAdsUserInterestTaxonomyType { affinity in_market mobile_app_install_user new_smart_phone_user vertical_geo } enum GoogleAudienceScope { asset_group customer } enum GoogleDevice { computer other smart_phone tablet tv } enum GoogleKeywordMatchType { broad exact phrase } enum InsightAccountAdGroupsNoActiveComponentsIssue { no_active_ads no_active_keywords } enum InsightCategory { anomalies critical foundation important missed_sales opportunity visibility wasted_spend } enum InsightDetailedNegativeKeywordConflictsConnectionOrderColumn { campaign_name keyword negative_keyword } enum InsightLinkCheckAdsLinkLinkType { final final_mobile } enum InsightSiteLinkCheckSiteLinkSource { advertiser platform } enum KeywordConsoleCampaignAdGroupKeywordAdGroupStatus { enabled paused } enum KeywordConsoleCampaignAdGroupKeywordOrderColumn { ad_group_name campaign_name day_180_click_through_rate day_180_clicks day_180_conv_value_cost day_180_conversion_rate day_180_conversions day_180_conversions_value day_180_cost day_180_cost_of_sales day_180_cost_per_click day_180_cost_per_conversion day_180_impressions day_180_performance day_30_click_through_rate day_30_clicks day_30_conv_value_cost day_30_conversion_rate day_30_conversions day_30_conversions_value day_30_cost day_30_cost_of_sales day_30_cost_per_click day_30_cost_per_conversion day_30_impressions day_30_performance day_365_click_through_rate day_365_clicks day_365_conv_value_cost day_365_conversion_rate day_365_conversions day_365_conversions_value day_365_cost day_365_cost_of_sales day_365_cost_per_click day_365_cost_per_conversion day_365_impressions day_365_performance day_60_click_through_rate day_60_clicks day_60_conv_value_cost day_60_conversion_rate day_60_conversions day_60_conversions_value day_60_cost day_60_cost_of_sales day_60_cost_per_click day_60_cost_per_conversion day_60_impressions day_60_performance day_90_click_through_rate day_90_clicks day_90_conv_value_cost day_90_conversion_rate day_90_conversions day_90_conversions_value day_90_cost day_90_cost_of_sales day_90_cost_per_click day_90_cost_per_conversion day_90_impressions day_90_performance keyword } enum KeywordConsoleCampaignKeywordClassificationIssuesIssueStatus { disapproved pending_review under_review } enum KeywordConsoleCampaignStatus { enabled paused } enum KeywordConsoleClassification { IGNORED ISSUES LOW_DATA NO_CLICKS PERFORMANCE_AVERAGE PERFORMANCE_BAD PERFORMANCE_GOOD SPEND_AVERAGE SPEND_HIGH SPEND_LOW } enum KeywordConsoleOrderColumn { ad_account_name num_ignored num_issues num_low_data num_no_clicks num_performance_average num_performance_bad num_performance_good num_spend_average num_spend_high num_spend_low } enum KeywordConsoleResultType { all enabled_only } enum KeywordMatchType { broad exact phrase } enum LinkedInCampaignType { DYNAMIC SPONSORED_INMAILS SPONSORED_UPDATES TEXT_AD } enum MerchantPlatform { google microsoft } enum MerchantProductConnectionOrderColumn { title } enum MetricChangeAlertDefinitionComparisonFluctuationOperator { gt lt ltgt } enum MetricChangeAlertDefinitionComparisonMetric { absolute_top_impression_share average_order_value click_through_rate clicks clicks_per_conversion content_impression_share content_impression_share_budget_lost content_impression_share_rank_lost conv_value_cost conversion_rate conversions conversions_value cost cost_of_sales cost_per_click cost_per_conversion frequency impression_share impression_share_budget_lost impression_share_exact_match impression_share_rank_lost impressions reach search_impression_share search_impression_share_budget_lost search_impression_share_exact_match search_impression_share_rank_lost top_impression_share view_through_conversions } enum MetricChangeAlertDefinitionComparisonResultOperator { gt lt } enum MetricChangeAlertDefinitionComparisonThresholdOperator { gt lt } enum MetricChangeAlertDefinitionComparisonType { fluctuation threshold } enum MetricChangeAlertDefinitionLinkedAdAccountOrderColumn { name } enum MicrosoftAdsAudienceType { CombinedList Custom CustomerList ImpressionBasedRemarketingList InMarket Product RemarketingList SimilarRemarketingList } enum MicrosoftAdsCustomerIndustry { AgencySalesHouse Automotive ConsumerPackagedGoods Education Entertainment FinancialServices FoodServices Gaming GovernmentNonprofitPolitical Healthcare Internal NA Other Pharmaceuticals PublishingAndWebMedia RealEstate Retail Services Technology Telecommunications TravelHospitality } enum MicrosoftAdsCustomerLanguageType { English French German Italian Portuguese Spanish Swedish TraditionalChinese } enum MicrosoftAdsTargetSettingCriterionTypeGroup { age audience company_name gender income_range industry job_function } enum MicrosoftAudienceType { combined_list custom customer_list impression_based_remarketing_list in_market product remarketing_list similar_remarketing_list } enum MicrosoftDevice { computer non_smart_phone smart_phone tablet tv } enum MicrosoftDeviceName { computer smart_phone tablet } enum MicrosoftKeywordMatchType { broad exact phrase } enum NGramConsoleCampaignNGramOrderColumn { campaign_name day_180_click_through_rate day_180_clicks day_180_conv_value_cost day_180_conversion_rate day_180_conversions day_180_conversions_value day_180_cost day_180_cost_of_sales day_180_cost_per_click day_180_cost_per_conversion day_180_impressions day_180_performance day_30_click_through_rate day_30_clicks day_30_conv_value_cost day_30_conversion_rate day_30_conversions day_30_conversions_value day_30_cost day_30_cost_of_sales day_30_cost_per_click day_30_cost_per_conversion day_30_impressions day_30_performance day_365_click_through_rate day_365_clicks day_365_conv_value_cost day_365_conversion_rate day_365_conversions day_365_conversions_value day_365_cost day_365_cost_of_sales day_365_cost_per_click day_365_cost_per_conversion day_365_impressions day_365_performance day_60_click_through_rate day_60_clicks day_60_conv_value_cost day_60_conversion_rate day_60_conversions day_60_conversions_value day_60_cost day_60_cost_of_sales day_60_cost_per_click day_60_cost_per_conversion day_60_impressions day_60_performance day_90_click_through_rate day_90_clicks day_90_conv_value_cost day_90_conversion_rate day_90_conversions day_90_conversions_value day_90_cost day_90_cost_of_sales day_90_cost_per_click day_90_cost_per_conversion day_90_impressions day_90_performance ngram ngram_search_term_matches } enum NGramConsoleOrderColumn { ad_account_name num_ignored num_low_data num_no_clicks num_performance_average num_performance_bad num_performance_good num_spend_average num_spend_high num_spend_low num_stopped_serving } enum OrderByDirection { asc desc } enum PerformanceIssuesConsoleOrderColumn { ad_account_name num_asset_groups num_keywords num_products num_search_term_ngrams num_search_terms } enum ProductConsoleClassification { IGNORED ISSUES LOW_DATA NO_CLICKS PERFORMANCE_AVERAGE PERFORMANCE_BAD PERFORMANCE_GOOD SPEND_AVERAGE SPEND_HIGH SPEND_LOW } enum ProductConsoleOrderColumn { ad_account_name num_ignored num_issues num_low_data num_no_clicks num_performance_average num_performance_bad num_performance_good num_spend_average num_spend_high num_spend_low } enum ProductConsoleProductOrderColumn { benchmark_day_30_conv_rate benchmark_day_30_conv_value_cost benchmark_day_30_conversions benchmark_day_30_conversions_value benchmark_day_30_cost benchmark_day_30_ctr day_180_conv_rate day_180_conv_value_cost day_180_conversions day_180_conversions_value day_180_cost day_180_ctr day_30_conv_rate day_30_conv_value_cost day_30_conversions day_30_conversions_value day_30_cost day_30_ctr day_365_conv_rate day_365_conv_value_cost day_365_conversions day_365_conversions_value day_365_cost day_365_ctr day_60_conv_rate day_60_conv_value_cost day_60_conversions day_60_conversions_value day_60_cost day_60_ctr day_90_conv_rate day_90_conv_value_cost day_90_conversions day_90_conversions_value day_90_cost day_90_ctr id product_category_1 product_category_2 product_category_3 product_category_4 product_category_5 product_category_lowest title year_ago_day_30_conv_rate year_ago_day_30_conv_value_cost year_ago_day_30_conversions year_ago_day_30_conversions_value year_ago_day_30_cost year_ago_day_30_ctr } enum PublisherConsoleCampaignAdGroupPublisherOrderColumn { ad_group_name campaign_name day_180_click_through_rate day_180_clicks day_180_conv_value_cost day_180_conversion_rate day_180_conversions day_180_conversions_value day_180_cost day_180_cost_of_sales day_180_cost_per_click day_180_cost_per_conversion day_180_impressions day_180_performance day_30_click_through_rate day_30_clicks day_30_conv_value_cost day_30_conversion_rate day_30_conversions day_30_conversions_value day_30_cost day_30_cost_of_sales day_30_cost_per_click day_30_cost_per_conversion day_30_impressions day_30_performance day_365_click_through_rate day_365_clicks day_365_conv_value_cost day_365_conversion_rate day_365_conversions day_365_conversions_value day_365_cost day_365_cost_of_sales day_365_cost_per_click day_365_cost_per_conversion day_365_impressions day_365_performance day_60_click_through_rate day_60_clicks day_60_conv_value_cost day_60_conversion_rate day_60_conversions day_60_conversions_value day_60_cost day_60_cost_of_sales day_60_cost_per_click day_60_cost_per_conversion day_60_impressions day_60_performance day_90_click_through_rate day_90_clicks day_90_conv_value_cost day_90_conversion_rate day_90_conversions day_90_conversions_value day_90_cost day_90_cost_of_sales day_90_cost_per_click day_90_cost_per_conversion day_90_impressions day_90_performance publisher_domain } enum PublisherConsoleClassification { IGNORED LOW_DATA NO_CLICKS PERFORMANCE_AVERAGE PERFORMANCE_BAD PERFORMANCE_GOOD SPEND_AVERAGE SPEND_HIGH SPEND_LOW } enum PublisherConsoleOrderColumn { ad_account_name num_ignored num_low_data num_no_clicks num_performance_average num_performance_bad num_performance_good num_spend_average num_spend_high num_spend_low } enum PublisherType { facebook website } enum ScanDefinitionTarget { ad_account budget organization } enum ScanSubTypeAccountConversions { all_no_conversions no_conversions no_conversions_secondary } enum ScanSubTypeAccountNotServing { account_no_impressions ad_groups_no_active_components campaigns_no_impressions } enum ScanSubTypeAdPlatformLimits { warn } enum ScanSubTypeAssetGroupPerformance { issues } enum ScanSubTypeAudienceManager { ad_group_no_audience campaign_no_audience } enum ScanSubTypeAutomaticallyGeneratedAssets { ad_images ad_longer_headlines business_logos business_names callouts structured_snippets } enum ScanSubTypeBrandCampaignImpressionShare { budget rank } enum ScanSubTypeCloseVariants { good high_spend poor } enum ScanSubTypeDisapprovedAds { disapproved_ads limited not_delivering } enum ScanSubTypeKeywordConflicts { duplicates } enum ScanSubTypeKeywordPerformance { issues } enum ScanSubTypeLinkCheck { ads } enum ScanSubTypeLinkedInCampaignPlacements { poor_offsite_performance } enum ScanSubTypeLocationTarget { location_target_interest_in } enum ScanSubTypeMicrosoftConnection { missing } enum ScanSubTypeMicrosoftShoppingDynamicRemarketing { missing } enum ScanSubTypeNegativeKeywordConflicts { conflicts } enum ScanSubTypeNoRecentChanges { no_recent_changes } enum ScanSubTypePlatformRecommendations { platform_recommendations } enum ScanSubTypeProductPerformance { issues } enum ScanSubTypeSearchCampaignWithDisplay { poor_search_partner_performance search_campaign_with_display } enum ScanSubTypeSearchTermPerformance { blocked_converters } enum ScanSubTypeSiteLink { site_link_automatic site_link_automatic_check site_link_check } enum ScanSubTypeThirdPartyChanges { third_party_changes } enum ScanType { account_conversions account_impressions ad_group_performance ad_platform_limits asset_groups audience_manager audience_performance automatically_generated_assets brand_campaign_impression_share budget_allocation_recommendation campaign_performance close_variants devices disapproved_ads keyword_conflicts keywords link_check linkedin_campaign_placements location_target microsoft_connection microsoft_shopping_dynamic_remarketing negative_keyword_conflicts ngram_performance no_recent_changes platform_recommendations products publisher_performance search_campaign_with_display search_terms site_link_check third_party_changes } enum SearchTermCloseVariantsAutoNegativesLevel { ad_group campaign shared_list } enum SearchTermCloseVariantsConsoleOrderColumn { ad_account_name day_14_benchmark_conv_value_cost day_14_benchmark_conversions day_14_benchmark_cost day_14_benchmark_cost_per_click day_14_benchmark_cost_per_conversion day_14_close_variant_conv_value_cost day_14_close_variant_conversions day_14_close_variant_cost day_14_close_variant_cost_per_click day_14_close_variant_cost_per_conversion day_30_benchmark_conv_value_cost day_30_benchmark_conversions day_30_benchmark_cost day_30_benchmark_cost_per_click day_30_benchmark_cost_per_conversion day_30_close_variant_conv_value_cost day_30_close_variant_conversions day_30_close_variant_cost day_30_close_variant_cost_per_click day_30_close_variant_cost_per_conversion day_60_benchmark_conv_value_cost day_60_benchmark_conversions day_60_benchmark_cost day_60_benchmark_cost_per_click day_60_benchmark_cost_per_conversion day_60_close_variant_conv_value_cost day_60_close_variant_conversions day_60_close_variant_cost day_60_close_variant_cost_per_click day_60_close_variant_cost_per_conversion day_7_benchmark_conv_value_cost day_7_benchmark_conversions day_7_benchmark_cost day_7_benchmark_cost_per_click day_7_benchmark_cost_per_conversion day_7_close_variant_conv_value_cost day_7_close_variant_conversions day_7_close_variant_cost day_7_close_variant_cost_per_click day_7_close_variant_cost_per_conversion day_90_benchmark_conv_value_cost day_90_benchmark_conversions day_90_benchmark_cost day_90_benchmark_cost_per_click day_90_benchmark_cost_per_conversion day_90_close_variant_conv_value_cost day_90_close_variant_conversions day_90_close_variant_cost day_90_close_variant_cost_per_click day_90_close_variant_cost_per_conversion num_allowed num_blocked num_review } enum SearchTermCloseVariantsConsoleOverviewAdGroupOrderColumn { day_14_benchmark_conv_value_cost day_14_benchmark_conversions day_14_benchmark_cost day_14_benchmark_cost_per_click day_14_benchmark_cost_per_conversion day_14_close_variant_conv_value_cost day_14_close_variant_conversions day_14_close_variant_cost day_14_close_variant_cost_per_click day_14_close_variant_cost_per_conversion day_30_benchmark_conv_value_cost day_30_benchmark_conversions day_30_benchmark_cost day_30_benchmark_cost_per_click day_30_benchmark_cost_per_conversion day_30_close_variant_conv_value_cost day_30_close_variant_conversions day_30_close_variant_cost day_30_close_variant_cost_per_click day_30_close_variant_cost_per_conversion day_60_benchmark_conv_value_cost day_60_benchmark_conversions day_60_benchmark_cost day_60_benchmark_cost_per_click day_60_benchmark_cost_per_conversion day_60_close_variant_conv_value_cost day_60_close_variant_conversions day_60_close_variant_cost day_60_close_variant_cost_per_click day_60_close_variant_cost_per_conversion day_7_benchmark_conv_value_cost day_7_benchmark_conversions day_7_benchmark_cost day_7_benchmark_cost_per_click day_7_benchmark_cost_per_conversion day_7_close_variant_conv_value_cost day_7_close_variant_conversions day_7_close_variant_cost day_7_close_variant_cost_per_click day_7_close_variant_cost_per_conversion day_90_benchmark_conv_value_cost day_90_benchmark_conversions day_90_benchmark_cost day_90_benchmark_cost_per_click day_90_benchmark_cost_per_conversion day_90_close_variant_conv_value_cost day_90_close_variant_conversions day_90_close_variant_cost day_90_close_variant_cost_per_click day_90_close_variant_cost_per_conversion num_allowed num_blocked num_review } enum SearchTermCloseVariantsConsoleOverviewCampaignOrderColumn { day_14_benchmark_conv_value_cost day_14_benchmark_conversions day_14_benchmark_cost day_14_benchmark_cost_per_click day_14_benchmark_cost_per_conversion day_14_close_variant_conv_value_cost day_14_close_variant_conversions day_14_close_variant_cost day_14_close_variant_cost_per_click day_14_close_variant_cost_per_conversion day_30_benchmark_conv_value_cost day_30_benchmark_conversions day_30_benchmark_cost day_30_benchmark_cost_per_click day_30_benchmark_cost_per_conversion day_30_close_variant_conv_value_cost day_30_close_variant_conversions day_30_close_variant_cost day_30_close_variant_cost_per_click day_30_close_variant_cost_per_conversion day_60_benchmark_conv_value_cost day_60_benchmark_conversions day_60_benchmark_cost day_60_benchmark_cost_per_click day_60_benchmark_cost_per_conversion day_60_close_variant_conv_value_cost day_60_close_variant_conversions day_60_close_variant_cost day_60_close_variant_cost_per_click day_60_close_variant_cost_per_conversion day_7_benchmark_conv_value_cost day_7_benchmark_conversions day_7_benchmark_cost day_7_benchmark_cost_per_click day_7_benchmark_cost_per_conversion day_7_close_variant_conv_value_cost day_7_close_variant_conversions day_7_close_variant_cost day_7_close_variant_cost_per_click day_7_close_variant_cost_per_conversion day_90_benchmark_conv_value_cost day_90_benchmark_conversions day_90_benchmark_cost day_90_benchmark_cost_per_click day_90_benchmark_cost_per_conversion day_90_close_variant_conv_value_cost day_90_close_variant_conversions day_90_close_variant_cost day_90_close_variant_cost_per_click day_90_close_variant_cost_per_conversion num_allowed num_blocked num_review } enum SearchTermCloseVariantsConsoleSearchTermFetchOptionsOrderColumn { day_14_click_through_rate day_14_clicks day_14_conv_value_cost day_14_conversion_rate day_14_conversions day_14_conversions_value day_14_cost day_14_cost_of_sales day_14_cost_per_click day_14_cost_per_conversion day_14_impressions day_14_performance day_30_click_through_rate day_30_clicks day_30_conv_value_cost day_30_conversion_rate day_30_conversions day_30_conversions_value day_30_cost day_30_cost_of_sales day_30_cost_per_click day_30_cost_per_conversion day_30_impressions day_30_performance day_60_click_through_rate day_60_clicks day_60_conv_value_cost day_60_conversion_rate day_60_conversions day_60_conversions_value day_60_cost day_60_cost_of_sales day_60_cost_per_click day_60_cost_per_conversion day_60_impressions day_60_performance day_7_click_through_rate day_7_clicks day_7_conv_value_cost day_7_conversion_rate day_7_conversions day_7_conversions_value day_7_cost day_7_cost_of_sales day_7_cost_per_click day_7_cost_per_conversion day_7_impressions day_7_performance day_90_click_through_rate day_90_clicks day_90_conv_value_cost day_90_conversion_rate day_90_conversions day_90_conversions_value day_90_cost day_90_cost_of_sales day_90_cost_per_click day_90_cost_per_conversion day_90_impressions day_90_performance search_term status } enum SearchTermCloseVariantsOverviewClassification { good high_spend poor } enum SearchTermConsoleCampaignAdGroupOrderColumn { active can_add_keyword name search_term_attached search_term_impressions } enum SearchTermConsoleCampaignSearchTermAdGroupType { dynamic search shopping } enum SearchTermConsoleCampaignSearchTermOrderColumn { campaign_name day_180_click_through_rate day_180_clicks day_180_conv_value_cost day_180_conversion_rate day_180_conversions day_180_conversions_value day_180_cost day_180_cost_of_sales day_180_cost_per_click day_180_cost_per_conversion day_180_impressions day_180_performance day_30_click_through_rate day_30_clicks day_30_conv_value_cost day_30_conversion_rate day_30_conversions day_30_conversions_value day_30_cost day_30_cost_of_sales day_30_cost_per_click day_30_cost_per_conversion day_30_impressions day_30_performance day_365_click_through_rate day_365_clicks day_365_conv_value_cost day_365_conversion_rate day_365_conversions day_365_conversions_value day_365_cost day_365_cost_of_sales day_365_cost_per_click day_365_cost_per_conversion day_365_impressions day_365_performance day_60_click_through_rate day_60_clicks day_60_conv_value_cost day_60_conversion_rate day_60_conversions day_60_conversions_value day_60_cost day_60_cost_of_sales day_60_cost_per_click day_60_cost_per_conversion day_60_impressions day_60_performance day_90_click_through_rate day_90_clicks day_90_conv_value_cost day_90_conversion_rate day_90_conversions day_90_conversions_value day_90_cost day_90_cost_of_sales day_90_cost_per_click day_90_cost_per_conversion day_90_impressions day_90_performance search_term } enum SearchTermConsoleClassification { BLOCKED_CONVERTERS IGNORED LOW_DATA NO_CLICKS PERFORMANCE_AVERAGE PERFORMANCE_BAD PERFORMANCE_GOOD SPEND_AVERAGE SPEND_HIGH SPEND_LOW } enum SearchTermConsoleOrderColumn { ad_account_name num_blocked_converters num_ignored num_low_data num_no_clicks num_performance_average num_performance_bad num_performance_good num_spend_average num_spend_high num_spend_low } enum SearchTermNGramConsoleClassification { IGNORED LOW_DATA NO_CLICKS PERFORMANCE_AVERAGE PERFORMANCE_BAD PERFORMANCE_GOOD SPEND_AVERAGE SPEND_HIGH SPEND_LOW STOPPED_SERVING } enum Status { ACTIVE DELETED PAUSED } enum StatusV2 { ACTIVE DELETED ENDED PAUSED } enum StripeInvoiceStatus { draft open paid uncollectible void } enum StripePriceRecurringInterval { day month week year } enum StripePriceRecurringUsageAggregation { last_during_period last_ever max sum } enum UserInvitationFilterStatus { accepted declined pending revoked } enum UserRole { manager owner restricted viewer } input AccessibleAdAccountConnectionOrder { column: AccessibleAdAccountConnectionOrderColumn! direction: OrderByDirection! } input AccessibleAdAccountManagerConnectionOrder { column: AccessibleAdAccountManagerConnectionOrderColumn! direction: OrderByDirection! } input ActionAdFinalMobileUrlInput { campaignId: ID! adGroupId: ID! adId: ID! url: String! } input ActionAdFinalUrlInput { campaignId: ID! adGroupId: ID! adId: ID! url: String! } input ActionAdGroupAudienceIgnoreInput { campaignId: ID! adGroupId: ID! audienceId: ID! "Ignores the audience until the given timestamp. No value means ignore forever." until: Instant } input ActionAdGroupAudienceUnignoreInput { campaignId: ID! adGroupId: ID! audienceId: ID! } input ActionAdGroupIgnoreInput { campaignId: ID! adGroupId: ID! "Ignores the ad group until the given timestamp. No value means ignore forever." until: Instant } input ActionAdGroupKeywordExtraInput { campaignId: ID! adGroupId: ID! keyword: String! matchType: KeywordMatchType! } input ActionAdGroupKeywordExtraRemoveInput { campaignId: ID! adGroupId: ID! keyword: String! matchType: KeywordMatchType! } input ActionAdGroupKeywordIgnoreInput { campaignId: ID! adGroupId: ID! keywordId: ID! "Ignores the keyword until the given timestamp. No value means ignore forever." until: Instant } input ActionAdGroupKeywordUnignoreInput { campaignId: ID! adGroupId: ID! keywordId: ID! } input ActionAdGroupLabelInput { campaignId: ID! adGroupId: ID! label: String! } input ActionAdGroupLabelRemoveInput { campaignId: ID! adGroupId: ID! label: String! } input ActionAdGroupPauseInput { campaignId: ID! adGroupId: ID! } input ActionAdGroupProductExcludeInput { campaignId: ID! adGroupId: ID! productId: ID! } input ActionAdGroupUnignoreInput { campaignId: ID! adGroupId: ID! } input ActionAdGroupUnpauseInput { campaignId: ID! adGroupId: ID! } input ActionAdLabelInput { campaignId: ID! adGroupId: ID! adId: ID! label: String! } input ActionAdLabelRemoveInput { campaignId: ID! adGroupId: ID! adId: ID! label: String! } input ActionAdPauseInput { campaignId: ID! adGroupId: ID! adId: ID! } input ActionAdRemoveInput { campaignId: ID! adGroupId: ID! adId: ID! } input ActionAdUnpauseInput { campaignId: ID! adGroupId: ID! adId: ID! } input ActionAmazonAdGroupKeywordInput { campaignId: ID! adGroupId: ID! keyword: String! matchType: AmazonKeywordMatchType! bidCpc: BigDecimal } input ActionAmazonAdGroupKeywordPauseInput { campaignId: ID! adGroupId: ID! keywordId: ID! } input ActionAmazonAdGroupKeywordRemoveInput { campaignId: ID! adGroupId: ID! keywordId: ID! } input ActionAmazonAdGroupKeywordUnpauseInput { campaignId: ID! adGroupId: ID! keywordId: ID! } input ActionAmazonAdGroupKeywordUpdateBidInput { campaignId: ID! adGroupId: ID! keywordId: ID! "No value means remove existing" bidCpc: BigDecimal } input ActionAmazonAdGroupNegativeKeywordInput { campaignId: ID! adGroupId: ID! keyword: String! matchType: AmazonKeywordMatchType! } input ActionAmazonAdGroupNegativeKeywordRemoveInput { campaignId: ID! adGroupId: ID! keywordId: ID! } input ActionAmazonCampaignAmountInput { campaignId: ID! amount: BigDecimal! } input ActionAmazonCampaignNegativeKeywordInput { campaignId: ID! keyword: String! matchType: AmazonKeywordMatchType! } input ActionAmazonCampaignNegativeKeywordRemoveInput { campaignId: ID! keywordId: ID! } input ActionAmazonInput @oneOf { adGroupIgnore: ActionAdGroupIgnoreInput adGroupKeyword: ActionAmazonAdGroupKeywordInput adGroupKeywordExtra: ActionAdGroupKeywordExtraInput adGroupKeywordExtraRemove: ActionAdGroupKeywordExtraRemoveInput adGroupKeywordIgnore: ActionAdGroupKeywordIgnoreInput adGroupKeywordPause: ActionAmazonAdGroupKeywordPauseInput adGroupKeywordRemove: ActionAmazonAdGroupKeywordRemoveInput adGroupKeywordUnignore: ActionAdGroupKeywordUnignoreInput adGroupKeywordUnpause: ActionAmazonAdGroupKeywordUnpauseInput adGroupKeywordUpdateBid: ActionAmazonAdGroupKeywordUpdateBidInput adGroupNegativeKeyword: ActionAmazonAdGroupNegativeKeywordInput adGroupNegativeKeywordRemove: ActionAmazonAdGroupNegativeKeywordRemoveInput adGroupPause: ActionAdGroupPauseInput adGroupUnignore: ActionAdGroupUnignoreInput adGroupUnpause: ActionAdGroupUnpauseInput campaignAmount: ActionAmazonCampaignAmountInput campaignIgnore: ActionCampaignIgnoreInput campaignName: ActionCampaignNameInput campaignNegativeKeyword: ActionAmazonCampaignNegativeKeywordInput campaignNegativeKeywordRemove: ActionAmazonCampaignNegativeKeywordRemoveInput campaignPause: ActionCampaignPauseInput campaignUnignore: ActionCampaignUnignoreInput campaignUnpause: ActionCampaignUnpauseInput searchTermIgnore: ActionSearchTermIgnoreInput searchTermUnignore: ActionSearchTermUnignoreInput } input ActionAssetGroupIgnoreInput { campaignId: ID! assetGroupId: ID! "Ignores the asset group until the given timestamp. No value means ignore forever." until: Instant } input ActionAssetGroupPauseInput { campaignId: ID! assetGroupId: ID! } input ActionAssetGroupProductExcludeInput { campaignId: ID! assetGroupId: ID! productId: ID! } input ActionAssetGroupUnignoreInput { campaignId: ID! assetGroupId: ID! } input ActionAssetGroupUnpauseInput { campaignId: ID! assetGroupId: ID! } input ActionCampaignAudienceIgnoreInput { campaignId: ID! audienceId: ID! "Ignores the audience until the given timestamp. No value means ignore forever." until: Instant } input ActionCampaignAudienceUnignoreInput { campaignId: ID! audienceId: ID! } input ActionCampaignIgnoreInput { campaignId: ID! "Ignores the campaign until the given timestamp. No value means ignore forever." until: Instant } input ActionCampaignLabelInput { campaignId: ID! label: String! } input ActionCampaignLabelRemoveInput { campaignId: ID! label: String! } input ActionCampaignNameInput { campaignId: ID! name: String! } input ActionCampaignPauseInput { campaignId: ID! } input ActionCampaignUnignoreInput { campaignId: ID! } input ActionCampaignUnpauseInput { campaignId: ID! } input ActionFacebookAdSetDailyAmountInput { campaignId: ID! adSetId: ID! amount: BigDecimal! } input ActionFacebookAdSetNameInput { campaignId: ID! adSetId: ID! name: String! } input ActionFacebookAdSetPauseInput { campaignId: ID! adSetId: ID! } input ActionFacebookAdSetRemovePlacementsInput { campaignId: ID! adSetId: ID! placements: [ActionFacebookAdSetRemovePlacementsPlacementInput!]! } input ActionFacebookAdSetRemovePlacementsPlacementInput { platform: FacebookAdsPlacementPlatform! position: FacebookAdsPlacementPosition! } input ActionFacebookAdSetUnpauseInput { campaignId: ID! adSetId: ID! } input ActionFacebookCampaignDailyAmountInput { campaignId: ID! amount: BigDecimal! } input ActionFacebookDeviceIgnoreInput { campaignId: ID! deviceType: DeviceType! "Ignores the device until the given timestamp. No value means ignore forever." until: Instant } input ActionFacebookDeviceUnignoreInput { campaignId: ID! deviceType: DeviceType! } input ActionFacebookInput @oneOf { adSetDailyAmount: ActionFacebookAdSetDailyAmountInput adSetIgnore: ActionAdGroupIgnoreInput adSetName: ActionFacebookAdSetNameInput adSetPause: ActionFacebookAdSetPauseInput adSetRemovePlacements: ActionFacebookAdSetRemovePlacementsInput adSetUnignore: ActionAdGroupUnignoreInput adSetUnpause: ActionFacebookAdSetUnpauseInput campaignDailyAmount: ActionFacebookCampaignDailyAmountInput campaignIgnore: ActionCampaignIgnoreInput campaignName: ActionCampaignNameInput campaignPause: ActionCampaignPauseInput campaignUnignore: ActionCampaignUnignoreInput campaignUnpause: ActionCampaignUnpauseInput deviceIgnore: ActionFacebookDeviceIgnoreInput deviceUnignore: ActionFacebookDeviceUnignoreInput } input ActionGoogleAdGroupAssetPauseInput { campaignId: ID! adGroupId: ID! assetId: ID! fieldType: String! } input ActionGoogleAdGroupAssetRemoveInput { campaignId: ID! adGroupId: ID! assetId: ID! fieldType: String! } input ActionGoogleAdGroupAudienceAddInput { campaignId: ID! adGroupId: ID! audienceId: ID! audienceType: GoogleAdsAudienceType! } input ActionGoogleAdGroupAudienceExcludeInput { campaignId: ID! adGroupId: ID! audienceId: ID! audienceType: GoogleAdsAudienceType! } input ActionGoogleAdGroupBidAdjustmentInput { campaignId: ID! adGroupId: ID! bidCPC: BigDecimal bidCPM: BigDecimal bidCPV: BigDecimal fixedCPM: BigDecimal percentCPC: BigDecimal targetCPA: BigDecimal targetCPM: BigDecimal targetCPV: BigDecimal targetROAS: Float } input ActionGoogleAdGroupCriterionBidModifierInput { campaignId: ID! adGroupId: ID! criterionId: ID! bidModifier: BigDecimal! } input ActionGoogleAdGroupCriterionRemoveInput { campaignId: ID! adGroupId: ID! criterionId: ID! } input ActionGoogleAdGroupKeywordInput { campaignId: ID! adGroupId: ID! keyword: String! matchType: GoogleKeywordMatchType! bidCpc: BigDecimal } input ActionGoogleAdGroupKeywordPauseInput { campaignId: ID! adGroupId: ID! keywordId: ID! } input ActionGoogleAdGroupKeywordRemoveInput { campaignId: ID! adGroupId: ID! keywordId: ID! } input ActionGoogleAdGroupKeywordUnpauseInput { campaignId: ID! adGroupId: ID! keywordId: ID! } input ActionGoogleAdGroupKeywordUpdateBidInput { campaignId: ID! adGroupId: ID! keywordId: ID! "No value means remove existing" bidCpc: BigDecimal } input ActionGoogleAdGroupNegativeKeywordInput { campaignId: ID! adGroupId: ID! keyword: String! matchType: GoogleKeywordMatchType! } input ActionGoogleAdGroupNegativeKeywordRemoveInput { campaignId: ID! adGroupId: ID! keywordId: ID! } input ActionGoogleAdGroupPlacementExcludeInput { campaignId: ID! adGroupId: ID! placement: String! } input ActionGoogleAdGroupTargetingSettingInput { campaignId: ID! adGroupId: ID! dimension: GoogleAdsTargetingSettingDimension! bidOnly: Boolean! } input ActionGoogleAssetFinalMobileUpdateInput { assetId: ID! url: String! } input ActionGoogleAssetFinalUrlUpdateInput { assetId: ID! url: String! } input ActionGoogleCampaignAssetPauseInput { campaignId: ID! assetId: ID! fieldType: String! } input ActionGoogleCampaignAssetRemoveInput { campaignId: ID! assetId: ID! fieldType: String! } input ActionGoogleCampaignAudienceAddInput { campaignId: ID! audienceId: ID! audienceType: GoogleAdsAudienceType! } input ActionGoogleCampaignAudienceExcludeInput { campaignId: ID! audienceId: ID! audienceType: GoogleAdsAudienceType! } input ActionGoogleCampaignBiddingStrategyInput { campaignId: ID! strategy: CampaignGoogleBiddingStrategyOneOfInput! } input ActionGoogleCampaignBudgetDailyAmountInput { campaignBudgetId: ID! amount: BigDecimal! } input ActionGoogleCampaignBudgetNameInput { campaignBudgetId: ID! name: String! } input ActionGoogleCampaignCriterionBidModifierInput { campaignId: ID! criterionId: ID! bidModifier: BigDecimal! } input ActionGoogleCampaignCriterionRemoveInput { campaignId: ID! criterionId: ID! } input ActionGoogleCampaignDeviceBidModifierInput { campaignId: ID! deviceType: GoogleDevice! bidModifier: BigDecimal! } input ActionGoogleCampaignLocationExcludeInput { campaignId: ID! location: ID! } input ActionGoogleCampaignLocationTargetInput { campaignId: ID! location: ID! } input ActionGoogleCampaignNegativeKeywordInput { campaignId: ID! keyword: String! matchType: GoogleKeywordMatchType! } input ActionGoogleCampaignNegativeKeywordRemoveInput { campaignId: ID! keywordId: ID! } input ActionGoogleCampaignPlacementExcludeInput { campaignId: ID! placement: String! } input ActionGoogleCampaignRemoveDisplayNetworkInput { campaignId: ID! } input ActionGoogleCampaignRemoveSearchPartnerNetworkInput { campaignId: ID! } input ActionGoogleCampaignRemoveTargetInterestInLocationInput { campaignId: ID! } input ActionGoogleCampaignTargetingSettingInput { campaignId: ID! dimension: GoogleAdsTargetingSettingDimension! bidOnly: Boolean! } input ActionGoogleCustomerAssetPauseInput { assetId: ID! fieldType: String! } input ActionGoogleCustomerAssetRemoveInput { assetId: ID! fieldType: String! } input ActionGoogleDeviceIgnoreInput { campaignId: ID! device: GoogleDevice! "Ignores the device until the given timestamp. No value means ignore forever." until: Instant } input ActionGoogleDeviceUnignoreInput { campaignId: ID! deviceType: GoogleDevice! } input ActionGoogleInput @oneOf { adFinalMobileUrl: ActionAdFinalMobileUrlInput adFinalUrl: ActionAdFinalUrlInput adGroupAssetPause: ActionGoogleAdGroupAssetPauseInput adGroupAssetRemove: ActionGoogleAdGroupAssetRemoveInput adGroupAudienceAdd: ActionGoogleAdGroupAudienceAddInput adGroupAudienceExclude: ActionGoogleAdGroupAudienceExcludeInput adGroupBidAdjustment: ActionGoogleAdGroupBidAdjustmentInput adGroupCriterionBidModifier: ActionGoogleAdGroupCriterionBidModifierInput adGroupCriterionRemove: ActionGoogleAdGroupCriterionRemoveInput adGroupIgnore: ActionAdGroupIgnoreInput adGroupKeyword: ActionGoogleAdGroupKeywordInput adGroupKeywordExtra: ActionAdGroupKeywordExtraInput adGroupKeywordExtraRemove: ActionAdGroupKeywordExtraRemoveInput adGroupKeywordIgnore: ActionAdGroupKeywordIgnoreInput adGroupKeywordPause: ActionGoogleAdGroupKeywordPauseInput adGroupKeywordRemove: ActionGoogleAdGroupKeywordRemoveInput adGroupKeywordUnignore: ActionAdGroupKeywordUnignoreInput adGroupKeywordUnpause: ActionGoogleAdGroupKeywordUnpauseInput adGroupKeywordUpdateBid: ActionGoogleAdGroupKeywordUpdateBidInput adGroupLabel: ActionAdGroupLabelInput adGroupLabelRemove: ActionAdGroupLabelRemoveInput adGroupNegativeKeyword: ActionGoogleAdGroupNegativeKeywordInput adGroupNegativeKeywordRemove: ActionGoogleAdGroupNegativeKeywordRemoveInput adGroupPause: ActionAdGroupPauseInput adGroupPlacementExclude: ActionGoogleAdGroupPlacementExcludeInput adGroupProductExclude: ActionAdGroupProductExcludeInput adGroupTargetingSetting: ActionGoogleAdGroupTargetingSettingInput adGroupUnignore: ActionAdGroupUnignoreInput adGroupUnpause: ActionAdGroupUnpauseInput adLabel: ActionAdLabelInput adLabelRemove: ActionAdLabelRemoveInput adPause: ActionAdPauseInput adRemove: ActionAdRemoveInput adUnpause: ActionAdUnpauseInput assetFinalMobileUpdate: ActionGoogleAssetFinalMobileUpdateInput assetFinalUrlUpdate: ActionGoogleAssetFinalUrlUpdateInput assetGroupIgnore: ActionAssetGroupIgnoreInput assetGroupPause: ActionAssetGroupPauseInput assetGroupProductExclude: ActionAssetGroupProductExcludeInput assetGroupUnignore: ActionAssetGroupUnignoreInput assetGroupUnpause: ActionAssetGroupUnpauseInput audienceIgnoreAdGroup: ActionAdGroupAudienceIgnoreInput audienceIgnoreCampaign: ActionCampaignAudienceIgnoreInput audienceUnignoreAdGroup: ActionAdGroupAudienceUnignoreInput audienceUnignoreCampaign: ActionCampaignAudienceUnignoreInput campaignAssetPause: ActionGoogleCampaignAssetPauseInput campaignAssetRemove: ActionGoogleCampaignAssetRemoveInput campaignAudienceAdd: ActionGoogleCampaignAudienceAddInput campaignAudienceExclude: ActionGoogleCampaignAudienceExcludeInput campaignBiddingStrategy: ActionGoogleCampaignBiddingStrategyInput campaignBudgetDailyAmount: ActionGoogleCampaignBudgetDailyAmountInput campaignBudgetName: ActionGoogleCampaignBudgetNameInput campaignCriterionBidModifier: ActionGoogleCampaignCriterionBidModifierInput campaignCriterionRemove: ActionGoogleCampaignCriterionRemoveInput campaignDeviceBidModifier: ActionGoogleCampaignDeviceBidModifierInput campaignIgnore: ActionCampaignIgnoreInput campaignLabel: ActionCampaignLabelInput campaignLabelRemove: ActionCampaignLabelRemoveInput campaignLocationExclude: ActionGoogleCampaignLocationExcludeInput campaignLocationTarget: ActionGoogleCampaignLocationTargetInput campaignName: ActionCampaignNameInput campaignNegativeKeyword: ActionGoogleCampaignNegativeKeywordInput campaignNegativeKeywordRemove: ActionGoogleCampaignNegativeKeywordRemoveInput campaignPause: ActionCampaignPauseInput campaignPlacementExclude: ActionGoogleCampaignPlacementExcludeInput campaignRemoveDisplayNetwork: ActionGoogleCampaignRemoveDisplayNetworkInput campaignRemoveSearchPartnerNetwork: ActionGoogleCampaignRemoveSearchPartnerNetworkInput campaignRemoveTargetInterestInLocation: ActionGoogleCampaignRemoveTargetInterestInLocationInput campaignTargetingSetting: ActionGoogleCampaignTargetingSettingInput campaignUnignore: ActionCampaignUnignoreInput campaignUnpause: ActionCampaignUnpauseInput customerAssetPause: ActionGoogleCustomerAssetPauseInput customerAssetRemove: ActionGoogleCustomerAssetRemoveInput deviceIgnore: ActionGoogleDeviceIgnoreInput deviceUnignore: ActionGoogleDeviceUnignoreInput negativeKeywordListKeyword: ActionGoogleNegativeKeywordListKeywordInput negativeKeywordListKeywordRemove: ActionGoogleNegativeKeywordListKeywordRemoveInput placementListPlacement: ActionGooglePlacementListPlacementInput platformRecommendationDismiss: ActionGooglePlatformRecommendationDismissInput productIgnore: ActionProductIgnoreInput productUnignore: ActionProductUnignoreInput publisherIgnore: ActionPublisherIgnoreInput publisherUnignore: ActionPublisherUnignoreInput searchTermIgnore: ActionSearchTermIgnoreInput searchTermUnignore: ActionSearchTermUnignoreInput } input ActionGoogleNegativeKeywordListKeywordInput { negativeKeywordListId: ID! keyword: String! matchType: GoogleKeywordMatchType! } input ActionGoogleNegativeKeywordListKeywordRemoveInput { negativeKeywordListId: ID! negativeKeywordId: ID! } input ActionGooglePlacementListPlacementInput { publisherExclusionListId: ID! placement: String! } input ActionGooglePlatformRecommendationDismissInput { recommendationId: ID! } input ActionInput { "The __typename of an ActionAmazon, ActionFacebook, ActionGoogle, ActionLinkedIn or ActionMicrosoft" type: String! negativeKeywordListId: ID campaignGroupId: ID campaignId: ID biddingScheme: CampaignMicrosoftBiddingSchemeInput biddingStrategy: CampaignGoogleBiddingStrategyInput bidding: CampaignLinkedInBiddingStrategyInput campaignBudgetId: ID budgetId: ID adGroupId: ID adSetId: ID adId: ID assetGroupId: ID label: String location: String negativeKeywordId: ID keywordId: ID keywordText: String keywordMatchType: String "The allowed values in `keywordMatchType` for Amazon ad accounts" _keywordMatchTypeAmazon: AmazonKeywordMatchType "The allowed values in `keywordMatchType` for Google ad accounts" _keywordMatchTypeGoogle: GoogleKeywordMatchType "The allowed values in `keywordMatchType` for Microsoft ad accounts" _keywordMatchTypeMicrosoft: MicrosoftKeywordMatchType criterionId: ID audienceId: ID audienceType: String "The allowed values in `audienceType` for Google ad accounts" _audienceTypeGoogle: GoogleAdsAudienceType "The allowed values in `audienceType` for Microsoft ad accounts" _audienceTypeMicrosoft: MicrosoftAudienceType merchantIdentifier: ID productId: ID publisherId: ID searchTerm: String deviceType: DeviceType until: Instant name: String paused: Boolean budgetDailyAmount: BigDecimal bidCpc: BigDecimal storeId: ID assetId: ID assetLinkType: String adExtensionId: ID url: String bidModifier: BigDecimal description: String publisherExclusionListId: ID "A placement/publisher with a maximum length of 1000 characters." placement: String recommendationIds: [ID!] dimension: String "The allowed values for `dimension` in Google targeting settings" _dimensionTargetingSettingGoogle: GoogleAdsTargetingSettingDimension criterionTypeGroup: String "The allowed values for `criterionTypeGroup` in Microsoft target settings" _criterionTypeGroupMicrosoft: MicrosoftAdsTargetSettingCriterionTypeGroup "Whether a targeting setting should be set to observation only." bidOnly: Boolean } input ActionLinkedInCampaignBiddingStrategyInput { campaignGroupId: ID! campaignId: ID! strategy: CampaignLinkedInBiddingStrategyOneOfInput! } input ActionLinkedInCampaignDailyAmountInput { campaignGroupId: ID! campaignId: ID! amount: BigDecimal! } input ActionLinkedInCampaignGroupNameInput { campaignGroupId: ID! name: String! } input ActionLinkedInCampaignGroupPauseInput { campaignGroupId: ID! } input ActionLinkedInCampaignGroupUnpauseInput { campaignGroupId: ID! } input ActionLinkedInCampaignNameInput { campaignGroupId: ID! campaignId: ID! name: String! } input ActionLinkedInCampaignOffsiteDeliveryDisableInput { campaignGroupId: ID! campaignId: ID! } input ActionLinkedInCampaignPauseInput { campaignGroupId: ID! campaignId: ID! } input ActionLinkedInCampaignUnpauseInput { campaignGroupId: ID! campaignId: ID! } input ActionLinkedInCreativePauseInput { campaignGroupId: ID! campaignId: ID! adId: ID! } input ActionLinkedInCreativeUnpauseInput { campaignGroupId: ID! campaignId: ID! adId: ID! } input ActionLinkedInInput @oneOf { adSetName: ActionLinkedInCampaignOffsiteDeliveryDisableInput campaignBiddingStrategy: ActionLinkedInCampaignBiddingStrategyInput campaignDailyAmount: ActionLinkedInCampaignDailyAmountInput campaignGroupName: ActionLinkedInCampaignGroupNameInput campaignGroupPause: ActionLinkedInCampaignGroupPauseInput campaignGroupUnpause: ActionLinkedInCampaignGroupUnpauseInput campaignIgnore: ActionCampaignIgnoreInput campaignName: ActionLinkedInCampaignNameInput campaignPause: ActionLinkedInCampaignPauseInput campaignUnignore: ActionCampaignUnignoreInput campaignUnpause: ActionLinkedInCampaignUnpauseInput creativePause: ActionLinkedInCreativePauseInput creativeUnpause: ActionLinkedInCreativeUnpauseInput } input ActionMicrosoftAdAccountSiteLinkRemoveInput { adExtensionId: ID! } input ActionMicrosoftAdExtensionFinalUrlInput { adExtensionId: ID! url: String! } input ActionMicrosoftAdExtensionMobileUrlInput { adExtensionId: ID! url: String! } input ActionMicrosoftAdGroupAudienceAddInput { campaignId: ID! adGroupId: ID! audienceId: ID! audienceType: MicrosoftAdsAudienceType! } input ActionMicrosoftAdGroupAudienceBidModifierInput { campaignId: ID! adGroupId: ID! criterionId: ID! audienceType: MicrosoftAdsAudienceType! bidModifier: BigDecimal! } input ActionMicrosoftAdGroupAudienceExcludeInput { campaignId: ID! adGroupId: ID! audienceId: ID! audienceType: MicrosoftAdsAudienceType! } input ActionMicrosoftAdGroupAudienceRemoveInput { campaignId: ID! adGroupId: ID! criterionId: ID! audienceType: MicrosoftAdsAudienceType! } input ActionMicrosoftAdGroupBidAdjustmentInput { campaignId: ID! adGroupId: ID! bidCPC: BigDecimal bidCPM: BigDecimal bidCPV: BigDecimal bidMCPA: BigDecimal percentCPC: BigDecimal } input ActionMicrosoftAdGroupKeywordInput { campaignId: ID! adGroupId: ID! keyword: String! matchType: MicrosoftKeywordMatchType! bidCpc: BigDecimal } input ActionMicrosoftAdGroupKeywordPauseInput { campaignId: ID! adGroupId: ID! keywordId: ID! } input ActionMicrosoftAdGroupKeywordRemoveInput { campaignId: ID! adGroupId: ID! keywordId: ID! } input ActionMicrosoftAdGroupKeywordUnpauseInput { campaignId: ID! adGroupId: ID! keywordId: ID! } input ActionMicrosoftAdGroupKeywordUpdateBidInput { campaignId: ID! adGroupId: ID! keywordId: ID! "No value means remove existing" bidCpc: BigDecimal } input ActionMicrosoftAdGroupNegativeKeywordInput { campaignId: ID! adGroupId: ID! keyword: String! matchType: MicrosoftKeywordMatchType! } input ActionMicrosoftAdGroupNegativeKeywordRemoveInput { campaignId: ID! adGroupId: ID! negativeKeywordId: ID! } input ActionMicrosoftAdGroupNegativeSiteAddInput { campaignId: ID! adGroupId: ID! url: String! } input ActionMicrosoftAdGroupRemoveTargetInterestInLocationInput { campaignId: ID! adGroupId: ID! } input ActionMicrosoftAdGroupSiteLinkRemoveInput { campaignId: ID! adGroupId: ID! adExtensionId: ID! } input ActionMicrosoftAdGroupTargetSettingInput { campaignId: ID! adGroupId: ID! criterionTypeGroup: MicrosoftAdsTargetSettingCriterionTypeGroup! bidOnly: Boolean! } input ActionMicrosoftBudgetDailyAmountInput { budgetId: ID! amount: BigDecimal! } input ActionMicrosoftBudgetNameInput { budgetId: ID! name: String! } input ActionMicrosoftCampaignAmountDailyInput { campaignId: ID! amount: BigDecimal! } input ActionMicrosoftCampaignAudienceAddInput { campaignId: ID! audienceId: ID! audienceType: MicrosoftAdsAudienceType! } input ActionMicrosoftCampaignAudienceBidModifierInput { campaignId: ID! criterionId: ID! audienceType: MicrosoftAdsAudienceType! bidModifier: BigDecimal! } input ActionMicrosoftCampaignAudienceExcludeInput { campaignId: ID! audienceId: ID! audienceType: MicrosoftAdsAudienceType! } input ActionMicrosoftCampaignAudienceRemoveInput { campaignId: ID! criterionId: ID! audienceType: MicrosoftAdsAudienceType! } input ActionMicrosoftCampaignBiddingSchemeInput { campaignId: ID! scheme: CampaignMicrosoftBiddingSchemeOneOfInput! } input ActionMicrosoftCampaignCreateAudienceShoppingInput { name: String! paused: Boolean! budgetDailyAmount: BigDecimal! bidCpc: BigDecimal! storeId: ID! } input ActionMicrosoftCampaignDeviceBidModifierInput { campaignId: ID! device: MicrosoftDeviceName! bidModifier: BigDecimal! } input ActionMicrosoftCampaignNegativeKeywordInput { campaignId: ID! keyword: String! matchType: MicrosoftKeywordMatchType! } input ActionMicrosoftCampaignNegativeKeywordRemoveInput { campaignId: ID! negativeKeywordId: ID! } input ActionMicrosoftCampaignNegativeSiteAddInput { campaignId: ID! url: String! } input ActionMicrosoftCampaignRemoveTargetInterestInLocationInput { campaignId: ID! } input ActionMicrosoftCampaignSiteLinkRemoveInput { campaignId: ID! adExtensionId: ID! } input ActionMicrosoftCampaignTargetSettingInput { campaignId: ID! criterionTypeGroup: MicrosoftAdsTargetSettingCriterionTypeGroup! bidOnly: Boolean! } input ActionMicrosoftDeviceIgnoreInput { campaignId: ID! device: MicrosoftDevice! "Ignores the device until the given timestamp. No value means ignore forever." until: Instant } input ActionMicrosoftDeviceUnignoreInput { campaignId: ID! deviceType: MicrosoftDevice! } input ActionMicrosoftInput @oneOf { adAccountSiteLinkRemove: ActionMicrosoftAdAccountSiteLinkRemoveInput adExtensionFinalUrl: ActionMicrosoftAdExtensionFinalUrlInput adExtensionMobileUrl: ActionMicrosoftAdExtensionMobileUrlInput adFinalMobileUrl: ActionAdFinalMobileUrlInput adFinalUrl: ActionAdFinalUrlInput adGroupAudienceAdd: ActionMicrosoftAdGroupAudienceAddInput adGroupAudienceBidModifier: ActionMicrosoftAdGroupAudienceBidModifierInput adGroupAudienceExclude: ActionMicrosoftAdGroupAudienceExcludeInput adGroupAudienceRemove: ActionMicrosoftAdGroupAudienceRemoveInput adGroupBidAdjustment: ActionMicrosoftAdGroupBidAdjustmentInput adGroupIgnore: ActionAdGroupIgnoreInput adGroupKeyword: ActionMicrosoftAdGroupKeywordInput adGroupKeywordExtra: ActionAdGroupKeywordExtraInput adGroupKeywordExtraRemove: ActionAdGroupKeywordExtraRemoveInput adGroupKeywordIgnore: ActionAdGroupKeywordIgnoreInput adGroupKeywordPause: ActionMicrosoftAdGroupKeywordPauseInput adGroupKeywordRemove: ActionMicrosoftAdGroupKeywordRemoveInput adGroupKeywordUnignore: ActionAdGroupKeywordUnignoreInput adGroupKeywordUnpause: ActionMicrosoftAdGroupKeywordUnpauseInput adGroupKeywordUpdateBid: ActionMicrosoftAdGroupKeywordUpdateBidInput adGroupLabel: ActionAdGroupLabelInput adGroupLabelRemove: ActionAdGroupLabelRemoveInput adGroupNegativeKeyword: ActionMicrosoftAdGroupNegativeKeywordInput adGroupNegativeKeywordRemove: ActionMicrosoftAdGroupNegativeKeywordRemoveInput adGroupNegativeSiteAdd: ActionMicrosoftAdGroupNegativeSiteAddInput adGroupPause: ActionAdGroupPauseInput adGroupProductExclude: ActionAdGroupProductExcludeInput adGroupRemoveTargetInterestInLocation: ActionMicrosoftAdGroupRemoveTargetInterestInLocationInput adGroupSiteLinkRemove: ActionMicrosoftAdGroupSiteLinkRemoveInput adGroupTargetSetting: ActionMicrosoftAdGroupTargetSettingInput adGroupUnignore: ActionAdGroupUnignoreInput adGroupUnpause: ActionAdGroupUnpauseInput adLabel: ActionAdLabelInput adLabelRemove: ActionAdLabelRemoveInput adPause: ActionAdPauseInput adRemove: ActionAdRemoveInput adUnpause: ActionAdUnpauseInput assetGroupIgnore: ActionAssetGroupIgnoreInput assetGroupProductExclude: ActionAssetGroupProductExcludeInput assetGroupUnignore: ActionAssetGroupUnignoreInput audienceIgnoreAdGroup: ActionAdGroupAudienceIgnoreInput audienceIgnoreCampaign: ActionCampaignAudienceIgnoreInput audienceUnignoreAdGroup: ActionAdGroupAudienceUnignoreInput audienceUnignoreCampaign: ActionCampaignAudienceUnignoreInput budgetDailyAmount: ActionMicrosoftBudgetDailyAmountInput budgetName: ActionMicrosoftBudgetNameInput campaignAudienceAdd: ActionMicrosoftCampaignAudienceAddInput campaignAudienceBidModifier: ActionMicrosoftCampaignAudienceBidModifierInput campaignAudienceExclude: ActionMicrosoftCampaignAudienceExcludeInput campaignAudienceRemove: ActionMicrosoftCampaignAudienceRemoveInput campaignBiddingScheme: ActionMicrosoftCampaignBiddingSchemeInput campaignCreateAudienceShopping: ActionMicrosoftCampaignCreateAudienceShoppingInput campaignDailyAmount: ActionMicrosoftCampaignAmountDailyInput campaignDeviceBidModifier: ActionMicrosoftCampaignDeviceBidModifierInput campaignIgnore: ActionCampaignIgnoreInput campaignLabel: ActionCampaignLabelInput campaignLabelRemove: ActionCampaignLabelRemoveInput campaignName: ActionCampaignNameInput campaignNegativeKeyword: ActionMicrosoftCampaignNegativeKeywordInput campaignNegativeKeywordRemove: ActionMicrosoftCampaignNegativeKeywordRemoveInput campaignNegativeSiteAdd: ActionMicrosoftCampaignNegativeSiteAddInput campaignPause: ActionCampaignPauseInput campaignRemoveTargetInterestInLocation: ActionMicrosoftCampaignRemoveTargetInterestInLocationInput campaignSiteLinkRemove: ActionMicrosoftCampaignSiteLinkRemoveInput campaignTargetSetting: ActionMicrosoftCampaignTargetSettingInput campaignUnignore: ActionCampaignUnignoreInput campaignUnpause: ActionCampaignUnpauseInput deviceIgnore: ActionMicrosoftDeviceIgnoreInput deviceUnignore: ActionMicrosoftDeviceUnignoreInput negativeKeywordListKeyword: ActionMicrosoftNegativeKeywordListKeywordInput negativeKeywordListKeywordRemove: ActionMicrosoftNegativeKeywordListKeywordRemoveInput productIgnore: ActionProductIgnoreInput productUnignore: ActionProductUnignoreInput publisherExclusionListAdd: ActionMicrosoftPublisherExclusionListAddInput publisherIgnore: ActionPublisherIgnoreInput publisherUnignore: ActionPublisherUnignoreInput searchTermIgnore: ActionSearchTermIgnoreInput searchTermUnignore: ActionSearchTermUnignoreInput } input ActionMicrosoftNegativeKeywordListKeywordInput { negativeKeywordListId: ID! keyword: String! matchType: MicrosoftKeywordMatchType! } input ActionMicrosoftNegativeKeywordListKeywordRemoveInput { negativeKeywordListId: ID! negativeKeywordId: ID! } input ActionMicrosoftPublisherExclusionListAddInput { publisherExclusionListId: ID! placement: String! } input ActionProductIgnoreInput { merchantIdentifier: ID! productId: ID! "Ignores the product until the given timestamp. No value means ignore forever." until: Instant } input ActionProductUnignoreInput { merchantIdentifier: ID! productId: ID! } input ActionPublisherIgnoreInput { campaignId: ID! adGroupId: ID! publisherId: ID! "Ignores the publisher until the given timestamp. No value means ignore forever." until: Instant } input ActionPublisherUnignoreInput { campaignId: ID! adGroupId: ID! publisherId: ID! } input ActionSearchTermIgnoreInput { campaignId: ID searchTerm: String! "Ignores the search term until the given timestamp. No value means ignore forever." until: Instant } input ActionSearchTermUnignoreInput { campaignId: ID searchTerm: String! } input AdAccountConnectionOrder { column: AdAccountConnectionOrderColumn! direction: OrderByDirection! } input AdAccountCredentialOverridesForMutationsInput { systemChangesCredentialId: ID userChangesCredentialId: ID } input AdAccountIdInput { platform: AdPlatform! id: String! } input AdAccountInsightAlertDefinitionArgsTargetInput { "Maximum number of contacts is 10. For updates, empty means remove current ones." contactIds: [ID!]! "Maximum number of users is 20. For updates, empty means remove current ones." userIds: [ID!]! } input AdAccountInsightAlertDefinitionSelectorInput { "Filter expression. Supported variables are 'platform', 'id' and 'name'" selector: String "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tags: [[ID!]!] } input AdAccountPerformanceConnectionOrder { column: AdAccountPerformanceConnectionOrderColumn! direction: OrderByDirection! } input AdAccountTagInput { adAccountId: AdAccountIdInput! tagId: ID! } input AdGroupConnectionOrder { column: AdGroupConnectionOrderColumn! direction: OrderByDirection! } input AdGroupConsoleCampaignAdGroupIdentifierInput { campaignId: ID! adGroupId: ID! } input AdGroupConsoleCampaignAdGroupOrder { column: AdGroupConsoleCampaignAdGroupOrderColumn! direction: OrderByDirection! } input AdGroupConsoleOrder { column: AdGroupConsoleOrderColumn! direction: OrderByDirection! } input AssetGroupConsoleCampaignAssetGroupIdentifierInput { campaignId: ID! assetGroupId: ID! } input AssetGroupConsoleCampaignAssetGroupOrder { column: AssetGroupConsoleCampaignAssetGroupOrderColumn! direction: OrderByDirection! } input AssetGroupConsoleOrder { column: AssetGroupConsoleOrderColumn! direction: OrderByDirection! } input AudienceConsoleAudienceIdentifierInput { campaignId: ID! adGroupId: ID audienceId: ID! } input AudienceConsoleCampaignAdGroupAudienceOrder { column: AudienceConsoleCampaignAdGroupAudienceOrderColumn! direction: OrderByDirection! } input AudienceConsoleOrder { column: AudienceConsoleOrderColumn! direction: OrderByDirection! } input AudienceManagerCampaignAdGroupAudienceOrder { column: AudienceManagerCampaignAdGroupOrderColumn! direction: OrderByDirection! } input AudienceManagerCampaignAdGroupIdentifierInput { campaignId: ID! adGroupId: ID } input AudienceManagerOrder { column: AudienceManagerOrderColumn! direction: OrderByDirection! } input BetweenInput { from: LocalDate! to: LocalDate! } input BudgetAlertDefinitionArgsTargetInput { "Maximum number of contacts is 10. For updates, empty means remove current ones." contactIds: [ID!]! "Maximum number of users is 20. For updates, empty means remove current ones." userIds: [ID!]! } input BudgetAlertDefinitionCheckDefinitionInput { "The __typename of a BudgetAlertDefinitionCheckDefinition" type: String! "The __typename of a BudgetAlertDefinitionCheckDefinitionOperator" operator: String threshold: BudgetAlertDefinitionCheckDefinitionThresholdInput! } input BudgetAlertDefinitionCheckDefinitionThresholdInput { "The __typename of a BudgetAlertDefinitionCheckDefinitionThreshold" type: String! percentage: BigDecimal amount: BigDecimal } input BudgetAlertDefinitionOptionsInput { silenceNotifications: BudgetAlertDefinitionOptionsSilenceNotificationsInput! } input BudgetAlertDefinitionOptionsSilenceNotificationsInput { firstXDays: Int lastXDays: Int } input BudgetAlertDefinitionOptionsUpdateInput { silenceNotifications: BudgetAlertDefinitionOptionsUpdateSilenceNotificationsInput } input BudgetAlertDefinitionOptionsUpdateSilenceNotificationsInput { firstXDays: Int lastXDays: Int } input BudgetAlertDefinitionSelectedBudgetsConnectionOrder { column: BudgetAlertDefinitionSelectedBudgetsConnectionOrderColumn! direction: OrderByDirection! } input BudgetAlertDefinitionSelectorInput { selector: String tags: [[ID!]!] isClientAllSelectedBudget: Boolean } input BudgetAutoAdjustInput { version: BudgetAutoAdjustVersion! } input BudgetAutoNotifyInput { "Maximum number of contacts is 10" contactIds: [ID!]! "Maximum number of users is 10" userIds: [ID!]! } input BudgetAutoPauseInput { threshold: BigDecimal! } input BudgetCampaignBudgetConnectionOrder { column: BudgetCampaignBudgetConnectionOrderColumn! direction: OrderByDirection! } input BudgetCampaignBudgetLockingReferenceInput { adAccountId: AdAccountIdInput! campaignBudgetId: ID! } input BudgetCampaignBudgetRangeInput { min: BigDecimal max: BigDecimal } input BudgetCampaignBudgetRangeReferenceInput { adAccountId: AdAccountIdInput! campaignBudgetId: ID! } input BudgetCampaignBudgetRangeSetInput { adAccountId: AdAccountIdInput! campaignBudgetId: ID! range: BudgetCampaignBudgetRangeInput! } input BudgetConnectionOrder { column: BudgetConnectionOrderColumn! direction: OrderByDirection! } input BudgetEntryOrder { column: BudgetEntryOrderColumn! direction: OrderByDirection! } input BudgetNewAutoInput { adjust: BudgetAutoAdjustInput pause: BudgetAutoPauseInput suspend: Boolean notify: BudgetAutoNotifyInput! } input BudgetNewCampaignBudgetGroupInput { clientId: ID! selector: String selected: [CampaignBudgetGroupSelectedInput!] kpi: CampaignBudgetGroupKpiInput } input BudgetNewFromTemplateInput { clientId: ID! "if not provided will use the template name" name: String timeZone: TimeZone! currencyCode: CurrencyCode! target: BigDecimal! } input BudgetNewGoogleAccountAutoInput { adjust: BudgetAutoAdjustInput notify: BudgetAutoNotifyInput! } input BudgetNewGoogleAccountInput { adAccountId: ID! kpi: CampaignBudgetGroupKpiInput name: String! pacing: BudgetPacingInput! reportChildAmountDiff: Boolean auto: BudgetNewGoogleAccountAutoInput } input BudgetNewScheduleInput { "The __typename of a BudgetNewSchedule" type: String! from: LocalDate to: LocalDate interval: BetweenInput repeat: BudgetScheduleRepeatInput target: BigDecimal rollover: BigDecimal rolloverStrategy: BudgetRollOverStrategyInput spend: BigDecimal proRata: Boolean currentRollover: BigDecimal currentTarget: BigDecimal } input BudgetNewV2Input { campaignBudgetGroup: BudgetNewCampaignBudgetGroupInput! name: String! timeZone: TimeZone! currencyCode: CurrencyCode! pacing: BudgetPacingInput! reportChildAmountDiff: Boolean auto: BudgetNewAutoInput schedules: [BudgetNewScheduleInput!]! parentBudgetId: ID } input BudgetPacingInput { type: BudgetPacingType! } input BudgetPerformanceCardNewInput { "if null then all platforms are selected" platforms: [AdPlatform!] metric: BudgetPerformanceCardMetric! days: Int! } input BudgetPerformanceCardUpdateInput { id: ID! platforms: [AdPlatform!] metric: BudgetPerformanceCardMetric days: Int } input BudgetPreviewAdjustmentsNewGoogleAccountInput { adAccountId: ID! pacing: BudgetPacingInput! adjustmentVersion: BudgetAutoAdjustVersion } input BudgetPreviewAdjustmentsNewInput { campaignBudgetGroup: BudgetNewCampaignBudgetGroupInput! timeZone: TimeZone! currencyCode: CurrencyCode! pacing: BudgetPacingInput! adjustmentVersion: BudgetAutoAdjustVersion schedules: [BudgetNewScheduleInput!]! parentBudgetId: ID } input BudgetPreviewAdjustmentsUpdateInput { budgetId: ID! campaignBudgetGroup: BudgetUpdateCampaignBudgetGroupInput schedules: [BudgetScheduleModificationInput!]! } input BudgetPreviewConflictsNewGoogleAccountInput { adAccountId: ID! } input BudgetPreviewConflictsNewInput { campaignBudgetGroup: BudgetNewCampaignBudgetGroupInput! timeZone: TimeZone! schedules: [BudgetNewScheduleInput!]! parentBudgetId: ID } input BudgetPreviewConflictsUpdateInput { budgetId: ID! campaignBudgetGroup: BudgetUpdateCampaignBudgetGroupInput schedules: [BudgetScheduleModificationInput!]! } input BudgetRollOverStrategyInput { type: BudgetRollOverStrategyType! maxAmount: BigDecimal maxPercentage: BigDecimal } input BudgetScheduleModificationCustomChangesInput { period: BetweenInput target: BigDecimal rollover: BigDecimal rolloverStrategy: BudgetRollOverStrategyInput } input BudgetScheduleModificationInput { "The __typename of a BudgetScheduleModification" type: String! period: BetweenInput interval: BudgetScheduleRecurringIntervalInput repeat: BudgetScheduleRepeatInput target: BigDecimal rollover: BigDecimal rolloverStrategy: BudgetRollOverStrategyInput spend: BigDecimal proRated: Boolean changesCustom: BudgetScheduleModificationCustomChangesInput changesRecurring: BudgetScheduleModificationRecurringChangesInput } input BudgetScheduleModificationRecurringChangesInput { from: LocalDate to: LocalDate target: BigDecimal rolloverStrategy: BudgetRollOverStrategyInput currentTo: LocalDate currentTarget: BigDecimal currentRollover: BigDecimal } input BudgetScheduleRecurringIntervalInput { from: LocalDate! to: LocalDate } input BudgetScheduleRepeatInput { type: BudgetScheduleRepeatType! gap: Int startDayOfWeek: DayOfWeek startDay: Int } input BudgetTemplateDataCreateAutoInput { adjust: BudgetAutoAdjustInput pause: BudgetAutoPauseInput notify: BudgetAutoNotifyInput! } input BudgetTemplateDataCreateInput { name: String! rollOverStrategy: BudgetRollOverStrategyInput! pacing: BudgetPacingInput! repeat: BudgetScheduleRepeatInput! proRata: Boolean! = false auto: BudgetTemplateDataCreateAutoInput selector: String! kpi: CampaignBudgetGroupKpiInput } input BudgetTemplateDataUpdateAutoInput { "If the value is null then auto adjustment will no longer be performed" adjust: BudgetAutoAdjustInput "If the value is null then auto pausing will no longer be performed" pause: BudgetAutoPauseInput notify: BudgetAutoNotifyInput } input BudgetTemplateDataUpdateInput { name: String rollOverStrategy: BudgetRollOverStrategyInput auto: BudgetTemplateDataUpdateAutoInput repeat: BudgetScheduleRepeatInput proRata: Boolean selector: String kpi: CampaignBudgetGroupKpiInput } input BudgetTreeConnectionOrder { column: BudgetTreeConnectionOrderColumn! direction: OrderByDirection! } input BudgetUpdateAutoInput { "If the value is null then auto adjustment will no longer be performed" adjust: BudgetAutoAdjustInput "If the value is null then auto pausing will no longer be performed" pause: BudgetAutoPauseInput suspend: Boolean notify: BudgetAutoNotifyInput } input BudgetUpdateCampaignBudgetGroupInput { "If the value is null then the selector will be removed" selector: String selectedAdd: [CampaignBudgetGroupSelectedInput!] selectedRemove: [CampaignBudgetGroupSelectedInput!] "If the value is null then the kpi will be removed" kpi: CampaignBudgetGroupKpiInput } input BudgetUpdateGoogleAccountAutoInput { "If the value is null then auto adjustment will no longer be performed" adjust: BudgetAutoAdjustInput notify: BudgetAutoNotifyInput } input CampaignBudgetConnectionArgCampaignBudgetIdInput { adAccountId: AdAccountIdInput! campaignBudgetId: ID! } input CampaignBudgetConnectionOrder { column: CampaignBudgetConnectionOrderColumn! direction: OrderByDirection! } input CampaignBudgetGroupKpiInput { "The __typename of a CampaignBudgetGroupKpi" type: String! costPerConversion: BigDecimal convValueCost: BigDecimal conversions: BigDecimal conversionRate: BigDecimal clickThroughRate: BigDecimal impressions: Long costOfSales: BigDecimal periods: Int } input CampaignBudgetGroupPreviewConflictsNewInput { clientId: ID! selector: String selected: [CampaignBudgetGroupSelectedInput!] parentCampaignBudgetGroupId: ID } input CampaignBudgetGroupPreviewConflictsUpdateInput { campaignBudgetGroupId: ID! "If the value is null then the selector will be removed" selector: String selectedAdd: [CampaignBudgetGroupSelectedInput!] selectedRemove: [CampaignBudgetGroupSelectedInput!] } input CampaignBudgetGroupSelectedInput { platform: AdPlatform! adAccountId: ID! campaignBudgetId: ID! } input CampaignConnectionOrder { column: CampaignConnectionOrderColumn! direction: OrderByDirection! } input CampaignConsoleCampaignOrder { column: CampaignConsoleCampaignOrderColumn! direction: OrderByDirection! } input CampaignConsoleOrder { column: CampaignConsoleOrderColumn! direction: OrderByDirection! } input CampaignGoogleBiddingStrategyCommissionInput { rate: BigDecimal } input CampaignGoogleBiddingStrategyEnhancedCpcInput { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } input CampaignGoogleBiddingStrategyFixedCpmInput { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } input CampaignGoogleBiddingStrategyInput { "The __typename of a CampaignGoogleBiddingStrategy" type: String! enhanced: Boolean rate: BigDecimal targetCostPerSale: BigDecimal location: CampaignGoogleBiddingStrategyTargetImpressionShareLocation locationFraction: BigDecimal maxCpc: BigDecimal targetCpa: BigDecimal targetRoas: BigDecimal maxPercentCpc: BigDecimal cpcBidCeiling: BigDecimal cpcBidFloor: BigDecimal _unused: Boolean } input CampaignGoogleBiddingStrategyManualCpaInput { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } input CampaignGoogleBiddingStrategyManualCpcInput { enhanced: Boolean! } input CampaignGoogleBiddingStrategyManualCpmInput { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } input CampaignGoogleBiddingStrategyManualCpvInput { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } input CampaignGoogleBiddingStrategyMaximizeConversionValueInput { targetRoas: BigDecimal cpcBidCeiling: BigDecimal cpcBidFloor: BigDecimal } input CampaignGoogleBiddingStrategyMaximizeConversionsInput { targetCpa: BigDecimal cpcBidCeiling: BigDecimal cpcBidFloor: BigDecimal } input CampaignGoogleBiddingStrategyOneOfInput @oneOf { commission: CampaignGoogleBiddingStrategyCommissionInput enhancedCpc: CampaignGoogleBiddingStrategyEnhancedCpcInput fixedCpm: CampaignGoogleBiddingStrategyFixedCpmInput manualCpa: CampaignGoogleBiddingStrategyManualCpaInput manualCpc: CampaignGoogleBiddingStrategyManualCpcInput manualCpm: CampaignGoogleBiddingStrategyManualCpmInput manualCpv: CampaignGoogleBiddingStrategyManualCpvInput maximizeConversionValue: CampaignGoogleBiddingStrategyMaximizeConversionValueInput maximizeConversions: CampaignGoogleBiddingStrategyMaximizeConversionsInput percentCpc: CampaignGoogleBiddingStrategyPercentCpcInput targetCpa: CampaignGoogleBiddingStrategyTargetCpaInput targetCpm: CampaignGoogleBiddingStrategyTargetCpmInput targetCpv: CampaignGoogleBiddingStrategyTargetCpvInput targetImpressionShare: CampaignGoogleBiddingStrategyTargetImpressionShareInput targetRoas: CampaignGoogleBiddingStrategyTargetRoasInput targetSpend: CampaignGoogleBiddingStrategyTargetSpendInput } input CampaignGoogleBiddingStrategyPercentCpcInput { enhanced: Boolean! cpcBidCeiling: BigDecimal } input CampaignGoogleBiddingStrategyTargetCpaInput { targetCpa: BigDecimal cpcBidCeiling: BigDecimal cpcBidFloor: BigDecimal } input CampaignGoogleBiddingStrategyTargetCpmInput { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } input CampaignGoogleBiddingStrategyTargetCpvInput { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } input CampaignGoogleBiddingStrategyTargetImpressionShareInput { location: CampaignGoogleBiddingStrategyTargetImpressionShareLocation locationFraction: BigDecimal cpcBidCeiling: BigDecimal } input CampaignGoogleBiddingStrategyTargetRoasInput { targetRoas: BigDecimal cpcBidCeiling: BigDecimal cpcBidFloor: BigDecimal } "Also known as Maximize Clicks" input CampaignGoogleBiddingStrategyTargetSpendInput { cpcBidCeiling: BigDecimal } input CampaignLinkedInBiddingStrategyInput { "The __typename of a CampaignLinkedInBiddingStrategy" type: String! amount: BigDecimal enhanced: Boolean cap: BigDecimal target: BigDecimal _unused: Boolean } input CampaignLinkedInBiddingStrategyManualInput { amount: BigDecimal! enhanced: Boolean! } input CampaignLinkedInBiddingStrategyMaximizeClicksInput { cap: BigDecimal } input CampaignLinkedInBiddingStrategyMaximizeConversionsInput { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } input CampaignLinkedInBiddingStrategyMaximizeImpressionsInput { cap: BigDecimal } input CampaignLinkedInBiddingStrategyMaximizeLeadsInput { cap: BigDecimal } input CampaignLinkedInBiddingStrategyMaximizeReachInput { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } input CampaignLinkedInBiddingStrategyMaximizeVideoViewsInput { cap: BigDecimal } input CampaignLinkedInBiddingStrategyOneOfInput @oneOf { manual: CampaignLinkedInBiddingStrategyManualInput maximizeClicks: CampaignLinkedInBiddingStrategyMaximizeClicksInput maximizeConversions: CampaignLinkedInBiddingStrategyMaximizeConversionsInput maximizeImpressions: CampaignLinkedInBiddingStrategyMaximizeImpressionsInput maximizeLeads: CampaignLinkedInBiddingStrategyMaximizeLeadsInput maximizeReach: CampaignLinkedInBiddingStrategyMaximizeReachInput maximizeVideoViews: CampaignLinkedInBiddingStrategyMaximizeVideoViewsInput targetClicks: CampaignLinkedInBiddingStrategyTargetClicksInput targetImpressions: CampaignLinkedInBiddingStrategyTargetImpressionsInput targetVideoViews: CampaignLinkedInBiddingStrategyTargetVideoViewsInput } input CampaignLinkedInBiddingStrategyTargetClicksInput { target: BigDecimal! } input CampaignLinkedInBiddingStrategyTargetImpressionsInput { target: BigDecimal! } input CampaignLinkedInBiddingStrategyTargetVideoViewsInput { target: BigDecimal! } input CampaignMicrosoftBiddingSchemeCommissionInput { rate: BigDecimal } input CampaignMicrosoftBiddingSchemeCostPerSaleInput { targetCostPerSale: BigDecimal } input CampaignMicrosoftBiddingSchemeEnhancedCpcInput { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } input CampaignMicrosoftBiddingSchemeInheritFromParentInput { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } input CampaignMicrosoftBiddingSchemeInput { "The __typename of a CampaignMicrosoftBiddingScheme" type: String! rate: BigDecimal targetCostPerSale: BigDecimal maxCpc: BigDecimal maxPercentCpc: BigDecimal targetCpa: BigDecimal targetRoas: BigDecimal targetAdPosition: CampaignMicrosoftBiddingSchemeTargetAdPosition targetImpressionShare: Float _unused: Boolean } input CampaignMicrosoftBiddingSchemeManualCpaInput { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } input CampaignMicrosoftBiddingSchemeManualCpcInput { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } input CampaignMicrosoftBiddingSchemeManualCpmInput { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } input CampaignMicrosoftBiddingSchemeManualCpvInput { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } input CampaignMicrosoftBiddingSchemeMaxClicksInput { maxCpc: BigDecimal } input CampaignMicrosoftBiddingSchemeMaxConversionValueInput { targetRoas: BigDecimal } input CampaignMicrosoftBiddingSchemeMaxConversionsInput { maxCpc: BigDecimal targetCpa: BigDecimal } input CampaignMicrosoftBiddingSchemeMaxRoasInput { maxCpc: BigDecimal } input CampaignMicrosoftBiddingSchemeOneOfInput @oneOf { commission: CampaignMicrosoftBiddingSchemeCommissionInput costPerSale: CampaignMicrosoftBiddingSchemeCostPerSaleInput enhancedCpc: CampaignMicrosoftBiddingSchemeEnhancedCpcInput inheritFromParent: CampaignMicrosoftBiddingSchemeInheritFromParentInput manualCpa: CampaignMicrosoftBiddingSchemeManualCpaInput manualCpc: CampaignMicrosoftBiddingSchemeManualCpcInput manualCpm: CampaignMicrosoftBiddingSchemeManualCpmInput manualCpv: CampaignMicrosoftBiddingSchemeManualCpvInput maxClicks: CampaignMicrosoftBiddingSchemeMaxClicksInput maxConversionValue: CampaignMicrosoftBiddingSchemeMaxConversionValueInput maxConversions: CampaignMicrosoftBiddingSchemeMaxConversionsInput maxRoas: CampaignMicrosoftBiddingSchemeMaxRoasInput percentCpc: CampaignMicrosoftBiddingSchemePercentCpcInput targetCpa: CampaignMicrosoftBiddingSchemeTargetCpaInput targetImpressionShare: CampaignMicrosoftBiddingSchemeTargetImpressionShareInput targetRoas: CampaignMicrosoftBiddingSchemeTargetRoasInput } input CampaignMicrosoftBiddingSchemePercentCpcInput { maxPercentCpc: BigDecimal } input CampaignMicrosoftBiddingSchemeTargetCpaInput { maxCpc: BigDecimal targetCpa: BigDecimal } input CampaignMicrosoftBiddingSchemeTargetImpressionShareInput { maxCpc: BigDecimal targetAdPosition: CampaignMicrosoftBiddingSchemeTargetAdPosition targetImpressionShare: Float } input CampaignMicrosoftBiddingSchemeTargetRoasInput { maxCpc: BigDecimal targetRoas: BigDecimal } input DeviceConsoleCampaignDeviceIdentifierInput { campaignId: ID! deviceType: DeviceType! } input DeviceConsoleCampaignDeviceOrder { column: DeviceConsoleCampaignDeviceOrderColumn! direction: OrderByDirection! } input DeviceConsoleOrder { column: DeviceConsoleOrderColumn! direction: OrderByDirection! } input InsightDetailedNegativeKeywordConflictsConnectionOrder { column: InsightDetailedNegativeKeywordConflictsConnectionOrderColumn! direction: OrderByDirection! } input KeywordConsoleCampaignAdGroupKeywordIdentifierInput { campaignId: ID! adGroupId: ID! keywordId: ID! } input KeywordConsoleCampaignAdGroupKeywordOrder { column: KeywordConsoleCampaignAdGroupKeywordOrderColumn! direction: OrderByDirection! } input KeywordConsoleOrder { column: KeywordConsoleOrderColumn! direction: OrderByDirection! } input LinkAdAccountCredentialIdentifierInput { credential: ID! manager: AdAccountIdInput } input MerchantIdInput { platform: MerchantPlatform! identifier: ID! } input MerchantProductConnectionOrder { column: MerchantProductConnectionOrderColumn! direction: OrderByDirection! } input MetricChangeAlertDefinitionArgsTargetInput { "Maximum number of contacts is 10" contactIds: [ID!]! "Maximum number of users is 20" userIds: [ID!]! } input MetricChangeAlertDefinitionComparisonFluctuationValueInput { "MetricChangeAlertDefinitionComparisonFluctuationValuePercent or MetricChangeAlertDefinitionComparisonFluctuationValueStandardDeviation" type: String! percentage: BigDecimal num: Int } input MetricChangeAlertDefinitionComparisonInput { "MetricChangeAlertDefinitionComparisonFluctuation or MetricChangeAlertDefinitionComparisonThreshold" type: String! range: Int metric: MetricChangeAlertDefinitionComparisonMetric fluctuationOperator: MetricChangeAlertDefinitionComparisonFluctuationOperator operator: MetricChangeAlertDefinitionComparisonThresholdOperator fluctuationValue: MetricChangeAlertDefinitionComparisonFluctuationValueInput value: Float minimum: MetricChangeAlertDefinitionComparisonMinimumInput against: Int } input MetricChangeAlertDefinitionComparisonMinimumInput { metric: MetricChangeAlertDefinitionComparisonMetric! value: Float! } input MetricChangeAlertDefinitionLinkedAdAccountOrder { column: MetricChangeAlertDefinitionLinkedAdAccountOrderColumn! direction: OrderByDirection! } input MicrosoftCustomerSignupAddressInput { "Address line 1. Maximum length allowed is 35 characters." line1: String! "Address line 2. Maximum length allowed is 35 characters." line2: String "Address line 3. Maximum length allowed is 35 characters." line3: String "Address line 4. Maximum length allowed is 35 characters." line4: String "Maximum length allowed is 35 characters." city: String! "Postal/post code. Maximum length allowed is 10 characters." postalCode: String! stateOrProvince: String! countryCode: CountryCode! } input MicrosoftCustomerSignupBusinessInput { "The legal business name, which can contain a maximum of 100 characters." name: String! "The business address details." address: MicrosoftCustomerSignupAddressInput! } input NGramConsoleCampaignNGramIdentifierInput { campaignId: ID! searchTerm: String! } input NGramConsoleCampaignNGramOrder { column: NGramConsoleCampaignNGramOrderColumn! direction: OrderByDirection! } input NGramConsoleOrder { column: NGramConsoleOrderColumn! direction: OrderByDirection! } input PerformanceIssuesConsoleOrder { column: PerformanceIssuesConsoleOrderColumn! direction: OrderByDirection! } input ProductConsoleOrder { column: ProductConsoleOrderColumn! direction: OrderByDirection! } input ProductConsoleProductIdentifierInput { merchantId: MerchantIdInput! merchantProductId: ID! } input ProductConsoleProductOrder { column: ProductConsoleProductOrderColumn! direction: OrderByDirection! } input PublisherConsoleCampaignAdGroupPublisherIdentifierInput { campaignId: ID! adGroupId: ID! publisherId: ID! } input PublisherConsoleCampaignAdGroupPublisherOrder { column: PublisherConsoleCampaignAdGroupPublisherOrderColumn! direction: OrderByDirection! } input PublisherConsoleOrder { column: PublisherConsoleOrderColumn! direction: OrderByDirection! } input ScanDefinitionUpdateAdAccountSelectionInput { selector: String tags: [[ID!]!] } input ScanDefinitionUpdateAdAccountTagsInput { include: [[ID!]!] exclude: [[ID!]!] } input ScanDefinitionUpdateConfigAccountConversionsInput { categoryOverrides: [ScanDefinitionUpdateConfigAccountConversionsSubTypeCategoryInput!] disableAdAccounts: [ScanDefinitionUpdateConfigAccountConversionsSubTypeAdAccountDisableInput!] lookBackDays: Int noConversionDaysFactor: Float filter: String tags: ScanDefinitionUpdateAdAccountTagsInput } input ScanDefinitionUpdateConfigAccountConversionsSubTypeAdAccountDisableInput { subType: ScanSubTypeAccountConversions! adAccountDisable: ScanDefinitionUpdateAdAccountSelectionInput } input ScanDefinitionUpdateConfigAccountConversionsSubTypeCategoryInput { subType: ScanSubTypeAccountConversions! category: InsightCategory! } input ScanDefinitionUpdateConfigAccountNotServingInput { categoryOverrides: [ScanDefinitionUpdateConfigAccountNotServingSubTypeCategoryInput!] disableAdAccounts: [ScanDefinitionUpdateConfigAccountNotServingSubTypeAdAccountDisableInput!] } input ScanDefinitionUpdateConfigAccountNotServingSubTypeAdAccountDisableInput { subType: ScanSubTypeAccountNotServing! adAccountDisable: ScanDefinitionUpdateAdAccountSelectionInput } input ScanDefinitionUpdateConfigAccountNotServingSubTypeCategoryInput { subType: ScanSubTypeAccountNotServing! category: InsightCategory! } input ScanDefinitionUpdateConfigAdPlatformLimitsInput { categoryOverrides: [ScanDefinitionUpdateConfigAdPlatformLimitsSubTypeCategoryInput!] disableAdAccounts: [ScanDefinitionUpdateConfigAdPlatformLimitsSubTypeAdAccountDisableInput!] warnPercent: BigDecimal } input ScanDefinitionUpdateConfigAdPlatformLimitsSubTypeAdAccountDisableInput { subType: ScanSubTypeAdPlatformLimits! adAccountDisable: ScanDefinitionUpdateAdAccountSelectionInput } input ScanDefinitionUpdateConfigAdPlatformLimitsSubTypeCategoryInput { subType: ScanSubTypeAdPlatformLimits! category: InsightCategory! } input ScanDefinitionUpdateConfigAssetGroupPerformanceInput { categoryOverrides: [ScanDefinitionUpdateConfigAssetGroupPerformanceSubTypeCategoryInput!] } input ScanDefinitionUpdateConfigAssetGroupPerformanceSubTypeCategoryInput { subType: ScanSubTypeAssetGroupPerformance! category: InsightCategory! } input ScanDefinitionUpdateConfigAudienceManagerInput { categoryOverrides: [ScanDefinitionUpdateConfigAudienceManagerSubTypeCategoryInput!] disableAdAccounts: [ScanDefinitionUpdateConfigAudienceManagerSubTypeAdAccountDisableInput!] } input ScanDefinitionUpdateConfigAudienceManagerSubTypeAdAccountDisableInput { subType: ScanSubTypeAudienceManager! adAccountDisable: ScanDefinitionUpdateAdAccountSelectionInput } input ScanDefinitionUpdateConfigAudienceManagerSubTypeCategoryInput { subType: ScanSubTypeAudienceManager! category: InsightCategory! } input ScanDefinitionUpdateConfigAutomaticallyGeneratedAssetsInput { categoryOverrides: [ScanDefinitionUpdateConfigAutomaticallyGeneratedAssetsSubTypeCategoryInput!] disableAdAccounts: [ScanDefinitionUpdateConfigAutomaticallyGeneratedAssetsSubTypeAdAccountSelectionInput!] pause: [ScanDefinitionUpdateConfigAutomaticallyGeneratedAssetsSubTypeAdAccountSelectionInput!] remove: [ScanDefinitionUpdateConfigAutomaticallyGeneratedAssetsSubTypeAdAccountSelectionInput!] } input ScanDefinitionUpdateConfigAutomaticallyGeneratedAssetsSubTypeAdAccountSelectionInput { subType: ScanSubTypeAutomaticallyGeneratedAssets! selection: ScanDefinitionUpdateAdAccountSelectionInput } input ScanDefinitionUpdateConfigAutomaticallyGeneratedAssetsSubTypeCategoryInput { subType: ScanSubTypeAutomaticallyGeneratedAssets! category: InsightCategory! } input ScanDefinitionUpdateConfigBrandCampaignImpressionShareInput { categoryOverrides: [ScanDefinitionUpdateConfigBrandCampaignImpressionShareSubTypeCategoryInput!] disableAdAccounts: [ScanDefinitionUpdateConfigBrandCampaignImpressionShareSubTypeAdAccountDisableInput!] } input ScanDefinitionUpdateConfigBrandCampaignImpressionShareSubTypeAdAccountDisableInput { subType: ScanSubTypeBrandCampaignImpressionShare! adAccountDisable: ScanDefinitionUpdateAdAccountSelectionInput } input ScanDefinitionUpdateConfigBrandCampaignImpressionShareSubTypeCategoryInput { subType: ScanSubTypeBrandCampaignImpressionShare! category: InsightCategory! } input ScanDefinitionUpdateConfigCloseVariantsInput { categoryOverrides: [ScanDefinitionUpdateConfigCloseVariantsSubTypeCategoryInput!] } input ScanDefinitionUpdateConfigCloseVariantsSubTypeCategoryInput { subType: ScanSubTypeCloseVariants! category: InsightCategory! } input ScanDefinitionUpdateConfigDisapprovedAdsInput { categoryOverrides: [ScanDefinitionUpdateConfigDisapprovedAdsSubTypeCategoryInput!] disableAdAccounts: [ScanDefinitionUpdateConfigDisapprovedAdsSubTypeAdAccountDisableInput!] } input ScanDefinitionUpdateConfigDisapprovedAdsSubTypeAdAccountDisableInput { subType: ScanSubTypeDisapprovedAds! adAccountDisable: ScanDefinitionUpdateAdAccountSelectionInput } input ScanDefinitionUpdateConfigDisapprovedAdsSubTypeCategoryInput { subType: ScanSubTypeDisapprovedAds! category: InsightCategory! } input ScanDefinitionUpdateConfigInput @oneOf { accountConversions: ScanDefinitionUpdateConfigAccountConversionsInput accountNotServing: ScanDefinitionUpdateConfigAccountNotServingInput adPlatformLimits: ScanDefinitionUpdateConfigAdPlatformLimitsInput assetGroupPerformance: ScanDefinitionUpdateConfigAssetGroupPerformanceInput audienceManager: ScanDefinitionUpdateConfigAudienceManagerInput automaticallyGeneratedAssets: ScanDefinitionUpdateConfigAutomaticallyGeneratedAssetsInput brandCampaignImpressionShare: ScanDefinitionUpdateConfigBrandCampaignImpressionShareInput closeVariants: ScanDefinitionUpdateConfigCloseVariantsInput disapprovedAds: ScanDefinitionUpdateConfigDisapprovedAdsInput keywordConflicts: ScanDefinitionUpdateConfigKeywordConflictsInput keywordPerformance: ScanDefinitionUpdateConfigKeywordPerformanceInput linkCheck: ScanDefinitionUpdateConfigLinkCheckInput linkedinCampaignPlacements: ScanDefinitionUpdateConfigLinkedInCampaignPlacementsInput locationTarget: ScanDefinitionUpdateConfigLocationTargetInput microsoftConnection: ScanDefinitionUpdateConfigMicrosoftConnectionInput microsoftShoppingDynamicRemarketing: ScanDefinitionUpdateConfigMicrosoftShoppingDynamicRemarketingInput negativeKeywordConflicts: ScanDefinitionUpdateConfigNegativeKeywordConflictsInput noRecentChanges: ScanDefinitionUpdateConfigNoRecentChangesInput platformRecommendations: ScanDefinitionUpdateConfigPlatformRecommendationsInput productPerformance: ScanDefinitionUpdateConfigProductPerformanceInput searchCampaignWithDisplay: ScanDefinitionUpdateConfigSearchCampaignWithDisplayInput searchTermPerformance: ScanDefinitionUpdateConfigSearchTermPerformanceInput siteLink: ScanDefinitionUpdateConfigSiteLinkInput thirdPartyChanges: ScanDefinitionUpdateConfigThirdPartyChangesInput } input ScanDefinitionUpdateConfigKeywordConflictsInput { categoryOverrides: [ScanDefinitionUpdateConfigKeywordConflictsSubTypeCategoryInput!] disableAdAccounts: [ScanDefinitionUpdateConfigKeywordConflictsSubTypeAdAccountDisableInput!] } input ScanDefinitionUpdateConfigKeywordConflictsSubTypeAdAccountDisableInput { subType: ScanSubTypeKeywordConflicts! adAccountDisable: ScanDefinitionUpdateAdAccountSelectionInput } input ScanDefinitionUpdateConfigKeywordConflictsSubTypeCategoryInput { subType: ScanSubTypeKeywordConflicts! category: InsightCategory! } input ScanDefinitionUpdateConfigKeywordPerformanceInput { categoryOverrides: [ScanDefinitionUpdateConfigKeywordPerformanceSubTypeCategoryInput!] } input ScanDefinitionUpdateConfigKeywordPerformanceSubTypeCategoryInput { subType: ScanSubTypeKeywordPerformance! category: InsightCategory! } input ScanDefinitionUpdateConfigLinkCheckInput { categoryOverrides: [ScanDefinitionUpdateConfigLinkCheckSubTypeCategoryInput!] disableAdAccounts: [ScanDefinitionUpdateConfigLinkCheckSubTypeAdAccountDisableInput!] } input ScanDefinitionUpdateConfigLinkCheckSubTypeAdAccountDisableInput { subType: ScanSubTypeLinkCheck! adAccountDisable: ScanDefinitionUpdateAdAccountSelectionInput } input ScanDefinitionUpdateConfigLinkCheckSubTypeCategoryInput { subType: ScanSubTypeLinkCheck! category: InsightCategory! } input ScanDefinitionUpdateConfigLinkedInCampaignPlacementsInput { categoryOverrides: [ScanDefinitionUpdateConfigLinkedInCampaignPlacementsSubTypeCategoryInput!] disableAdAccounts: [ScanDefinitionUpdateConfigLinkedInCampaignPlacementsSubTypeAdAccountDisableInput!] removePlacement: [ScanDefinitionUpdateConfigLinkedInCampaignPlacementsSubTypeAdAccountSelectionInput!] } input ScanDefinitionUpdateConfigLinkedInCampaignPlacementsSubTypeAdAccountDisableInput { subType: ScanSubTypeLinkedInCampaignPlacements! adAccountDisable: ScanDefinitionUpdateAdAccountSelectionInput } input ScanDefinitionUpdateConfigLinkedInCampaignPlacementsSubTypeAdAccountSelectionInput { subType: ScanSubTypeLinkedInCampaignPlacements! selection: ScanDefinitionUpdateAdAccountSelectionInput } input ScanDefinitionUpdateConfigLinkedInCampaignPlacementsSubTypeCategoryInput { subType: ScanSubTypeLinkedInCampaignPlacements! category: InsightCategory! } input ScanDefinitionUpdateConfigLocationTargetAdAccountDisableInput { subType: ScanSubTypeLocationTarget! adAccountDisable: ScanDefinitionUpdateAdAccountSelectionInput } input ScanDefinitionUpdateConfigLocationTargetInput { categoryOverrides: [ScanDefinitionUpdateConfigLocationTargetSubTypeCategoryInput!] disableAdAccounts: [ScanDefinitionUpdateConfigLocationTargetAdAccountDisableInput!] removeInterestIn: ScanDefinitionUpdateAdAccountSelectionInput } input ScanDefinitionUpdateConfigLocationTargetSubTypeCategoryInput { subType: ScanSubTypeLocationTarget! category: InsightCategory! } input ScanDefinitionUpdateConfigMicrosoftConnectionInput { categoryOverrides: [ScanDefinitionUpdateConfigMicrosoftConnectionSubTypeCategoryInput!] } input ScanDefinitionUpdateConfigMicrosoftConnectionSubTypeCategoryInput { subType: ScanSubTypeMicrosoftConnection! category: InsightCategory! } input ScanDefinitionUpdateConfigMicrosoftShoppingDynamicRemarketingInput { categoryOverrides: [ScanDefinitionUpdateConfigMicrosoftShoppingDynamicRemarketingSubTypeCategoryInput!] disableAdAccounts: [ScanDefinitionUpdateConfigMicrosoftShoppingDynamicRemarketingSubTypeAdAccountDisableInput!] } input ScanDefinitionUpdateConfigMicrosoftShoppingDynamicRemarketingSubTypeAdAccountDisableInput { subType: ScanSubTypeMicrosoftShoppingDynamicRemarketing! adAccountDisable: ScanDefinitionUpdateAdAccountSelectionInput } input ScanDefinitionUpdateConfigMicrosoftShoppingDynamicRemarketingSubTypeCategoryInput { subType: ScanSubTypeMicrosoftShoppingDynamicRemarketing! category: InsightCategory! } input ScanDefinitionUpdateConfigNegativeKeywordConflictsInput { categoryOverrides: [ScanDefinitionUpdateConfigNegativeKeywordConflictsSubTypeCategoryInput!] disableAdAccounts: [ScanDefinitionUpdateConfigNegativeKeywordConflictsSubTypeAdAccountDisableInput!] } input ScanDefinitionUpdateConfigNegativeKeywordConflictsSubTypeAdAccountDisableInput { subType: ScanSubTypeNegativeKeywordConflicts! adAccountDisable: ScanDefinitionUpdateAdAccountSelectionInput } input ScanDefinitionUpdateConfigNegativeKeywordConflictsSubTypeCategoryInput { subType: ScanSubTypeNegativeKeywordConflicts! category: InsightCategory! } input ScanDefinitionUpdateConfigNoRecentChangesInput { categoryOverrides: [ScanDefinitionUpdateConfigNoRecentChangesSubTypeCategoryInput!] disableAdAccounts: [ScanDefinitionUpdateConfigNoRecentChangesSubTypeAdAccountDisableInput!] lookBackDays: Int } input ScanDefinitionUpdateConfigNoRecentChangesSubTypeAdAccountDisableInput { subType: ScanSubTypeNoRecentChanges! adAccountDisable: ScanDefinitionUpdateAdAccountSelectionInput } input ScanDefinitionUpdateConfigNoRecentChangesSubTypeCategoryInput { subType: ScanSubTypeNoRecentChanges! category: InsightCategory! } input ScanDefinitionUpdateConfigPlatformRecommendationsInput { categoryOverrides: [ScanDefinitionUpdateConfigPlatformRecommendationsSubTypeCategoryInput!] disableAdAccounts: [ScanDefinitionUpdateConfigPlatformRecommendationsSubTypeAdAccountDisableInput!] dismissAll: ScanDefinitionUpdateAdAccountSelectionInput } input ScanDefinitionUpdateConfigPlatformRecommendationsSubTypeAdAccountDisableInput { subType: ScanSubTypePlatformRecommendations! adAccountDisable: ScanDefinitionUpdateAdAccountSelectionInput } input ScanDefinitionUpdateConfigPlatformRecommendationsSubTypeCategoryInput { subType: ScanSubTypePlatformRecommendations! category: InsightCategory! } input ScanDefinitionUpdateConfigProductPerformanceInput { categoryOverrides: [ScanDefinitionUpdateConfigProductPerformanceSubTypeCategoryInput!] } input ScanDefinitionUpdateConfigProductPerformanceSubTypeCategoryInput { subType: ScanSubTypeProductPerformance! category: InsightCategory! } input ScanDefinitionUpdateConfigSearchCampaignWithDisplayInput { categoryOverrides: [ScanDefinitionUpdateConfigSearchCampaignWithDisplaySubTypeCategoryInput!] disableAdAccounts: [ScanDefinitionUpdateConfigSearchCampaignWithDisplaySubTypeAdAccountDisableInput!] removeNetwork: [ScanDefinitionUpdateConfigSearchCampaignWithDisplaySubTypeAdAccountSelectionInput!] removeDisplayNetwork: ScanDefinitionUpdateAdAccountSelectionInput } input ScanDefinitionUpdateConfigSearchCampaignWithDisplaySubTypeAdAccountDisableInput { subType: ScanSubTypeSearchCampaignWithDisplay! adAccountDisable: ScanDefinitionUpdateAdAccountSelectionInput } input ScanDefinitionUpdateConfigSearchCampaignWithDisplaySubTypeAdAccountSelectionInput { subType: ScanSubTypeSearchCampaignWithDisplay! selection: ScanDefinitionUpdateAdAccountSelectionInput } input ScanDefinitionUpdateConfigSearchCampaignWithDisplaySubTypeCategoryInput { subType: ScanSubTypeSearchCampaignWithDisplay! category: InsightCategory! } input ScanDefinitionUpdateConfigSearchTermPerformanceInput { categoryOverrides: [ScanDefinitionUpdateConfigSearchTermPerformanceSubTypeCategoryInput!] } input ScanDefinitionUpdateConfigSearchTermPerformanceSubTypeCategoryInput { subType: ScanSubTypeSearchTermPerformance! category: InsightCategory! } input ScanDefinitionUpdateConfigSiteLinkInput { categoryOverrides: [ScanDefinitionUpdateConfigSiteLinkSubTypeCategoryInput!] disableAdAccounts: [ScanDefinitionUpdateConfigSiteLinkSubTypeAdAccountSelectionInput!] pause: [ScanDefinitionUpdateConfigSiteLinkSubTypeAdAccountSelectionInput!] remove: [ScanDefinitionUpdateConfigSiteLinkSubTypeAdAccountSelectionInput!] } input ScanDefinitionUpdateConfigSiteLinkSubTypeAdAccountSelectionInput { subType: ScanSubTypeSiteLink! selection: ScanDefinitionUpdateAdAccountSelectionInput } input ScanDefinitionUpdateConfigSiteLinkSubTypeCategoryInput { subType: ScanSubTypeSiteLink! category: InsightCategory! } input ScanDefinitionUpdateConfigThirdPartyChangesInput { categoryOverrides: [ScanDefinitionUpdateConfigThirdPartyChangesSubTypeCategoryInput!] disableAdAccounts: [ScanDefinitionUpdateConfigThirdPartyChangesSubTypeAdAccountDisableInput!] } input ScanDefinitionUpdateConfigThirdPartyChangesSubTypeAdAccountDisableInput { subType: ScanSubTypeThirdPartyChanges! adAccountDisable: ScanDefinitionUpdateAdAccountSelectionInput } input ScanDefinitionUpdateConfigThirdPartyChangesSubTypeCategoryInput { subType: ScanSubTypeThirdPartyChanges! category: InsightCategory! } input ScanUpdateConfigAccountConversionsIgnoredInput { conversions: ScanUpdateConfigIgnoredConversionNamesInput conversionsSecondary: ScanUpdateConfigIgnoredConversionNamesInput } input ScanUpdateConfigAccountConversionsInput { ignored: ScanUpdateConfigAccountConversionsIgnoredInput } input ScanUpdateConfigAdIssuesIgnoredInput { disapproved: ScanUpdateConfigIgnoredAdsInput limited: ScanUpdateConfigIgnoredAdsInput notDelivering: ScanUpdateConfigIgnoredAdsInput } input ScanUpdateConfigAdIssuesInput { ignored: ScanUpdateConfigAdIssuesIgnoredInput } input ScanUpdateConfigAdPlatformLimitsIgnoredInput { negativeKeywordLists: ScanUpdateConfigIgnoredNegativeKeywordListsInput campaigns: ScanUpdateConfigIgnoredCampaignsInput adGroups: ScanUpdateConfigIgnoredAdGroupsInput } input ScanUpdateConfigAdPlatformLimitsInput { ignored: ScanUpdateConfigAdPlatformLimitsIgnoredInput } input ScanUpdateConfigAudienceManagerIgnoredInput { campaigns: ScanUpdateConfigIgnoredCampaignsInput adGroups: ScanUpdateConfigIgnoredAdGroupsInput } input ScanUpdateConfigAudienceManagerInput { ignored: ScanUpdateConfigAudienceManagerIgnoredInput } input ScanUpdateConfigBrandCampaignImpressionShareIgnoredInput { budget: ScanUpdateConfigIgnoredCampaignsInput rank: ScanUpdateConfigIgnoredCampaignsInput } input ScanUpdateConfigBrandCampaignImpressionShareInput { ignored: ScanUpdateConfigBrandCampaignImpressionShareIgnoredInput } input ScanUpdateConfigIgnoredAdGroupsAdGroupInput { campaignId: ID! adGroupId: ID! } input ScanUpdateConfigIgnoredAdGroupsInput { set: [ScanUpdateConfigIgnoredAdGroupsTupleInput!]! unset: [ScanUpdateConfigIgnoredAdGroupsAdGroupInput!]! } input ScanUpdateConfigIgnoredAdGroupsTupleInput { adGroup: ScanUpdateConfigIgnoredAdGroupsAdGroupInput! "`null` means ignore forever" until: Instant } input ScanUpdateConfigIgnoredAdsAdInput { campaignId: ID! adGroupId: ID! adId: ID! } input ScanUpdateConfigIgnoredAdsInput { set: [ScanUpdateConfigIgnoredAdsTupleInput!]! unset: [ScanUpdateConfigIgnoredAdsAdInput!]! } input ScanUpdateConfigIgnoredAdsTupleInput { ad: ScanUpdateConfigIgnoredAdsAdInput! "`null` means ignore forever" until: Instant } input ScanUpdateConfigIgnoredCampaignsInput { set: [ScanUpdateConfigIgnoredCampaignsTupleInput!]! unset: [ID!]! } input ScanUpdateConfigIgnoredCampaignsTupleInput { campaignId: ID! "`null` means ignore forever" until: Instant } input ScanUpdateConfigIgnoredConversionNamesInput { set: [ScanUpdateConfigIgnoredConversionNamesTupleInput!]! unset: [String!]! } input ScanUpdateConfigIgnoredConversionNamesTupleInput { name: String! "`null` means ignore forever" until: Instant } input ScanUpdateConfigIgnoredNegativeKeywordListsInput { set: [ScanUpdateConfigIgnoredNegativeKeywordListsTupleInput!]! unset: [ID!]! } input ScanUpdateConfigIgnoredNegativeKeywordListsTupleInput { negativeKeywordListId: ID! "`null` means ignore forever" until: Instant } input ScanUpdateConfigIgnoredUrlsInput { set: [ScanUpdateConfigIgnoredUrlsTupleInput!]! unset: [String!]! } input ScanUpdateConfigIgnoredUrlsTupleInput { url: String! "`null` means ignore forever" until: Instant } input ScanUpdateConfigInput @oneOf { accountConversions: ScanUpdateConfigAccountConversionsInput adIssues: ScanUpdateConfigAdIssuesInput adPlatformLimits: ScanUpdateConfigAdPlatformLimitsInput audienceManager: ScanUpdateConfigAudienceManagerInput brandCampaignImpressionShare: ScanUpdateConfigBrandCampaignImpressionShareInput linkCheck: ScanUpdateConfigLinkCheckInput linkedinCampaignPlacements: ScanUpdateConfigLinkedInCampaignPlacementsInput locationTarget: ScanUpdateConfigLocationTargetInput searchCampaignWithDisplay: ScanUpdateConfigSearchCampaignWithDisplayInput siteLink: ScanUpdateConfigSiteLinkInput } input ScanUpdateConfigLinkCheckIgnoredInput { adUrls: ScanUpdateConfigIgnoredUrlsInput } input ScanUpdateConfigLinkCheckInput { ignored: ScanUpdateConfigLinkCheckIgnoredInput } input ScanUpdateConfigLinkedInCampaignPlacementsIgnoredInput { campaignsOffsite: ScanUpdateConfigIgnoredAdGroupsInput } input ScanUpdateConfigLinkedInCampaignPlacementsInput { ignored: ScanUpdateConfigLinkedInCampaignPlacementsIgnoredInput } input ScanUpdateConfigLocationTargetIgnoredInput { campaigns: ScanUpdateConfigIgnoredCampaignsInput } input ScanUpdateConfigLocationTargetInput { ignored: ScanUpdateConfigLocationTargetIgnoredInput } input ScanUpdateConfigSearchCampaignWithDisplayIgnoredInput { campaigns: ScanUpdateConfigIgnoredCampaignsInput campaignsPartner: ScanUpdateConfigIgnoredCampaignsInput } input ScanUpdateConfigSearchCampaignWithDisplayInput { ignored: ScanUpdateConfigSearchCampaignWithDisplayIgnoredInput } input ScanUpdateConfigSiteLinkIgnoredInput { automatic: ScanUpdateConfigIgnoredUrlsInput automaticCheck: ScanUpdateConfigIgnoredUrlsInput check: ScanUpdateConfigIgnoredUrlsInput } input ScanUpdateConfigSiteLinkInput { ignored: ScanUpdateConfigSiteLinkIgnoredInput } input SearchTermCloseVariantsConsoleOrder { column: SearchTermCloseVariantsConsoleOrderColumn! direction: OrderByDirection! } input SearchTermCloseVariantsConsoleOverviewAdGroupOrder { column: SearchTermCloseVariantsConsoleOverviewAdGroupOrderColumn! direction: OrderByDirection! } input SearchTermCloseVariantsConsoleOverviewCampaignOrder { column: SearchTermCloseVariantsConsoleOverviewCampaignOrderColumn! direction: OrderByDirection! } input SearchTermCloseVariantsConsoleSearchTermFetchOptionsOrder { column: SearchTermCloseVariantsConsoleSearchTermFetchOptionsOrderColumn! direction: OrderByDirection! } input SearchTermConsoleCampaignAdGroupOrder { column: SearchTermConsoleCampaignAdGroupOrderColumn! direction: OrderByDirection! } input SearchTermConsoleCampaignSearchTermIdentifierInput { campaignId: ID! searchTerm: String! } input SearchTermConsoleCampaignSearchTermOrder { column: SearchTermConsoleCampaignSearchTermOrderColumn! direction: OrderByDirection! } input SearchTermConsoleOrder { column: SearchTermConsoleOrderColumn! direction: OrderByDirection! } input UserAppSettingsTableColumnInput { name: String! order: Int! pinned: Boolean! } input UserAppSettingsTableInput { id: String! columns: [UserAppSettingsTableColumnInput!]! } interface ASTExpressionParameterInterface { location: ASTExpressionLocation! } interface AccessibleAdAccountInterface { platform: AdPlatform! id: String! name: String! } interface ActionRunStatusRanScanRunInterface { scanId: ID! } interface AdAccountInterface { platform: AdPlatform! id: String! inserted: Instant! name: String! timeZone: TimeZone! currencyCode: CurrencyCode! performanceDataAvailableFrom: LocalDate flags: AdAccountFlags! status: AdAccountStatus! client: Client! scans: [ScanReferenced!]! insights: AdAccountInsights! tags: [Tag!]! } interface AdGroupConsoleCampaignInterface { id: ID! name: String! metrics: AdGroupConsoleCampaignMetrics! } interface AdGroupInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! } interface AdInterface { platform: AdPlatform! id: ID! } interface AlertInterface { id: ID! occurred: Instant! lastOccurred: Instant! lastNotified: Instant archived: Instant } interface AssetGroupConsoleCampaignAssetGroupClassificationInterface { type: AssetGroupConsoleClassification! } interface AssetGroupConsoleCampaignAssetGroupInterface { classification: AssetGroupConsoleCampaignAssetGroupClassification! id: ID! name: String! status: AssetGroupConsoleCampaignAssetGroupStatus! adStrength: AssetGroupConsoleAssetGroupAdStrength } interface AudienceConsoleCampaignInterface { id: ID! name: String! metrics: AudienceConsoleCampaignMetrics! } interface AudienceInterface { id: ID! adAccountId: AdAccountId! name: String! source: AudienceSource! } interface BudgetTreeInterface { childIds: [ID!]! children: [Budget__new!]! } interface CampaignBudgetInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! daysScheduled: [DayOfWeek!]! metrics: CampaignBudgetMetrics! } interface CampaignConsoleCampaignInterface { campaign: PerformanceCampaign! } interface CampaignInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! } interface ChangeLogEntryInterface { type: ChangeLogType! } interface DeviceConsoleCampaignDeviceInterface { device: DeviceConsoleCampaignDeviceDevice! } interface InsightDetailedAdPlatformLimitsWarnItemInterface { current: Int! limit: Int! } interface InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! } interface InsightDetailedPoorSearchPartnerPerformanceCampaignInterface { id: ID! name: String! days365SearchMetrics: InsightDetailedPoorSearchPartnerPerformanceCampaignMetrics! days365SearchPartnerMetrics: InsightDetailedPoorSearchPartnerPerformanceCampaignMetrics! } interface InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! } interface InsightSiteLinkAutomaticCheckLinkInterface { siteLinkId: ID! description: String issue: InsightSiteLinkCheckLinkIssue! link: String! linkType: InsightLinkCheckAdsLinkLinkType } interface InsightSiteLinkAutomaticLinkInterface { siteLinkId: ID! description: String link: String! impressions: Long } interface InsightSiteLinkCheckLinkInterface { siteLinkId: ID! description: String source: InsightSiteLinkCheckSiteLinkSource! issue: InsightSiteLinkCheckLinkIssue! link: String! linkType: InsightLinkCheckAdsLinkLinkType } interface KeywordConsoleCampaignAdGroupKeywordInterface { classification: KeywordConsoleCampaignKeywordClassification! adGroup: KeywordConsoleCampaignAdGroupKeywordAdGroup! keyword: KeywordConsoleCampaignAdGroupKeywordKeyword! } interface KeywordConsoleCampaignKeywordClassificationInterface { type: KeywordConsoleClassification! } interface KeywordExtraInterface { keyword: String! matchType: KeywordMatchType! } interface KeywordInterface { platform: AdPlatform! id: ID! keyword: String! active: Boolean! } interface MerchantProductInterface { merchantId: MerchantId! id: ID! } interface NGramConsoleCampaignInterface { id: ID! name: String! canAddKeywords: Boolean! canAddNegativeKeywords: Boolean! metrics: NGramConsoleCampaignMetrics! negativeKeywordLists: [NegativeKeywordList!]! } interface NGramConsoleCampaignNGramClassificationInterface { type: SearchTermNGramConsoleClassification! } interface NegativeKeywordInterface { platform: AdPlatform! id: ID! keyword: String! } interface OrganizationCredentialInterface { platform: AdPlatform! id: ID! expires: Instant invalid: Instant } interface OrganizationMerchantCredentialInterface { id: ID! expires: Instant invalid: Instant } interface PerformanceHighlightInterface { generated: Instant! adAccount: AdAccount! } interface ProductConsoleProductClassificationInterface { type: ProductConsoleClassification! } interface PublisherConsoleCampaignAdGroupPublisherPublisherInterface { type: PublisherType! id: ID! } interface PublisherConsoleCampaignInterface { id: ID! identifier: Long! name: String! metrics: PublisherConsoleCampaignMetrics! } interface ScanDefinitionInterface { type: ScanType! disabled: Boolean! target: ScanDefinitionTarget! } interface SearchTermConsoleCampaignSearchTermInterface { searchTerm: String! } interface SearchTermConsoleSearchTermClassificationInterface { type: SearchTermConsoleClassification! } interface StripePaymentMethodInterface { id: ID! } type ASTExpressionBooleanExpressionAnd { e: [ASTExpressionBooleanExpression!]! } type ASTExpressionBooleanExpressionBinaryOp { p1: ASTExpressionParameter! op: ASTExpressionOperation! p2: ASTExpressionParameter! } type ASTExpressionBooleanExpressionNot { e: ASTExpressionBooleanExpression! } type ASTExpressionBooleanExpressionOr { e: [ASTExpressionBooleanExpression!]! } type ASTExpressionBooleanExpressionUnaryOp { p: ASTExpressionParameter! } type ASTExpressionFunction implements ASTExpressionParameterInterface { location: ASTExpressionLocation! name: ASTExpressionIdentifier! parameters: [ASTExpressionParameter!]! } type ASTExpressionOperation { location: ASTExpressionLocation! op: ASTExpressionOperator! } type ASTExpressionValueBoolean implements ASTExpressionParameterInterface { location: ASTExpressionLocation! value: Boolean! } type ASTExpressionValueDate implements ASTExpressionParameterInterface { location: ASTExpressionLocation! value: LocalDate! } type ASTExpressionValueList implements ASTExpressionParameterInterface { location: ASTExpressionLocation! values: [ASTExpressionValue!]! } type ASTExpressionValueNumber implements ASTExpressionParameterInterface { location: ASTExpressionLocation! value: BigDecimal! } type ASTExpressionValueString implements ASTExpressionParameterInterface { location: ASTExpressionLocation! value: String! } type ASTExpressionValueTimestamp implements ASTExpressionParameterInterface { location: ASTExpressionLocation! value: Instant! } type ASTExpressionVariable implements ASTExpressionParameterInterface { location: ASTExpressionLocation! name: ASTExpressionName! } type AccessibleAdAccountClient implements AccessibleAdAccountInterface { platform: AdPlatform! id: String! "A secondary identifier for the ad account in its platform. E.g. Ad Account Number in Microsoft Ads." secondaryId: String name: String! timeZone: TimeZone! currency: CurrencyCode! additional: String credentials: [AccessibleAdAccountClientCredential!]! linked: AdAccount } type AccessibleAdAccountClientCredential { credential: OrganizationCredential! root: Boolean! } type AccessibleAdAccountConnection { total: Long offsetInfo: OffsetInfo! nodes: [AccessibleAdAccount!]! } type AccessibleAdAccountManager implements AccessibleAdAccountInterface { platform: AdPlatform! id: String! "A secondary identifier for a manager account in its platform. E.g. Customer Number in Microsoft Ads." secondaryId: String name: String! credentials: [AccessibleAdAccountManagerCredential!]! } type AccessibleAdAccountManagerCredential { credential: OrganizationCredential! root: Boolean! children: [String!]! } type AccessibleAdAccountManagers { credential: OrganizationCredential! managers: [AccessibleAdAccountManagersManager!]! } type AccessibleAdAccountManagersManager { platform: AdPlatform! id: String! "A secondary identifier for a manager account in its platform. E.g. Customer Number in Microsoft Ads." secondaryId: String name: String! root: Boolean! } type AccessibleAdAccounts { errors: [AccessibleAdAccountsError!]! accounts: AccessibleAdAccountConnection! } type AccessibleAdAccountsError { credential: OrganizationCredential! error: AccessibleAdAccountError! } type ActionAdAccountAdExtensionRemoveSiteLink { adExtensionId: ID! } type ActionAdAccountAssetPauseSiteLink { assetId: ID! } type ActionAdAccountAssetRemoveSiteLink { assetId: ID! } type ActionAdExtensionFinalUrlUpdate { adExtensionId: ID! url: String! } type ActionAdExtensionMobileUrlUpdate { adExtensionId: ID! url: String! } type ActionAdGroupAdExtensionRemoveSiteLink { campaignId: ID! adGroupId: ID! adExtensionId: ID! } type ActionAdGroupAssetPauseSiteLink { campaignId: ID! adGroupId: ID! assetId: ID! } type ActionAdGroupAssetRemoveSiteLink { campaignId: ID! adGroupId: ID! assetId: ID! } type ActionAdGroupAudienceIgnore { campaignId: ID! adGroupId: ID! audienceId: ID! "Ignores the audience until the given timestamp. No value means ignore forever." until: Instant } type ActionAdGroupAudienceUnignore { campaignId: ID! adGroupId: ID! audienceId: ID! } type ActionAdGroupIgnore { campaignId: ID! adGroupId: ID! "Ignores the ad group until the given timestamp. No value means ignore forever." until: Instant } type ActionAdGroupKeyword { campaignId: ID! adGroupId: ID! keywordText: String! keywordMatchType: String! bidCpc: BigDecimal } type ActionAdGroupKeywordAdjustBid { campaignId: ID! adGroupId: ID! keywordId: ID! "No bidCpc means remove existing" bidCpc: BigDecimal } type ActionAdGroupKeywordExtraCreate { campaignId: ID! adGroupId: ID! keywordText: String! keywordMatchType: String! } type ActionAdGroupKeywordExtraRemove { campaignId: ID! adGroupId: ID! keywordText: String! keywordMatchType: String! } type ActionAdGroupKeywordIgnore { campaignId: ID! adGroupId: ID! keywordId: ID! "Ignores the keyword until the given timestamp. No value means ignore forever." until: Instant } type ActionAdGroupKeywordPause { campaignId: ID! adGroupId: ID! keywordId: ID! } type ActionAdGroupKeywordRemove { campaignId: ID! adGroupId: ID! keywordId: ID! } type ActionAdGroupKeywordUnignore { campaignId: ID! adGroupId: ID! keywordId: ID! } type ActionAdGroupKeywordUnpause { campaignId: ID! adGroupId: ID! keywordId: ID! } type ActionAdGroupLabel { campaignId: ID! adGroupId: ID! label: String! } type ActionAdGroupLabelRemove { campaignId: ID! adGroupId: ID! label: String! } type ActionAdGroupName { campaignId: ID! adGroupId: ID! name: String! } type ActionAdGroupNegativeKeyword { campaignId: ID! adGroupId: ID! keywordText: String! keywordMatchType: String! } type ActionAdGroupNegativeKeywordRemove { campaignId: ID! adGroupId: ID! negativeKeywordId: ID! } type ActionAdGroupPause { campaignId: ID! adGroupId: ID! } type ActionAdGroupPlacementExclude { campaignId: ID! adGroupId: ID! placement: String! } type ActionAdGroupProductExclude { campaignId: ID! adGroupId: ID! productId: ID! } type ActionAdGroupUnignore { campaignId: ID! adGroupId: ID! } type ActionAdGroupUnpause { campaignId: ID! adGroupId: ID! } type ActionAdLabel { campaignId: ID! adGroupId: ID! adId: ID! label: String! } type ActionAdLabelRemove { campaignId: ID! adGroupId: ID! adId: ID! label: String! } type ActionAdPause { campaignId: ID! adGroupId: ID! adId: ID! } type ActionAdRemove { campaignId: ID! adGroupId: ID! adId: ID! } type ActionAdUnpause { campaignId: ID! adGroupId: ID! adId: ID! } type ActionAdUpdateFinalMobileUrl { campaignId: ID! adGroupId: ID! adId: ID! url: String! } type ActionAdUpdateFinalUrl { campaignId: ID! adGroupId: ID! adId: ID! url: String! } type ActionAmazonCampaignAmount { campaignId: ID! budgetDailyAmount: BigDecimal! } type ActionAssetFinalUrlUpdate { assetId: ID! url: String! } type ActionAssetGroupIgnore { campaignId: ID! assetGroupId: ID! "Ignores the asset group until the given timestamp. No value means ignore forever." until: Instant } type ActionAssetGroupPause { campaignId: ID! assetGroupId: ID! } type ActionAssetGroupProductExclude { campaignId: ID! assetGroupId: ID! productId: ID! } type ActionAssetGroupUnignore { campaignId: ID! assetGroupId: ID! } type ActionAssetGroupUnpause { campaignId: ID! assetGroupId: ID! } type ActionAssetMobileUrlUpdate { assetId: ID! url: String! } type ActionCampaignAdExtensionRemoveSiteLink { campaignId: ID! adExtensionId: ID! } type ActionCampaignAssetPauseSiteLink { campaignId: ID! assetId: ID! } type ActionCampaignAssetRemoveSiteLink { campaignId: ID! assetId: ID! } type ActionCampaignAudienceIgnore { campaignId: ID! audienceId: ID! "Ignores the audience until the given timestamp. No value means ignore forever." until: Instant } type ActionCampaignAudienceUnignore { campaignId: ID! audienceId: ID! } type ActionCampaignDeviceAdjustBid { campaignId: ID! "Device type for the desired device criterion. 'non_smartphone' is not supported. Only 'computer', 'smart_phone' and 'tablet' are supported for Microsoft." deviceType: DeviceType! bidModifier: BigDecimal! } type ActionCampaignIgnore { campaignId: ID! "Ignores the campaign until the given timestamp. No value means ignore forever." until: Instant } type ActionCampaignLabel { campaignId: ID! label: String! } type ActionCampaignLabelRemove { campaignId: ID! label: String! } type ActionCampaignLocationExclude { campaignId: ID! location: String! } type ActionCampaignLocationTarget { campaignId: ID! location: String! } type ActionCampaignName { campaignId: ID! name: String! } type ActionCampaignNegativeKeyword { campaignId: ID! keywordText: String! keywordMatchType: String! } type ActionCampaignNegativeKeywordRemove { campaignId: ID! negativeKeywordId: ID! } type ActionCampaignPause { campaignId: ID! } type ActionCampaignPlacementExclude { campaignId: ID! placement: String! } type ActionCampaignUnignore { campaignId: ID! } type ActionCampaignUnpause { campaignId: ID! } type ActionDeviceIgnore { campaignId: ID! deviceType: DeviceType! "Ignores the device until the given timestamp. No value means ignore forever." until: Instant } type ActionDeviceUnignore { campaignId: ID! deviceType: DeviceType! } type ActionError { code: String! message: String! path: String } type ActionErrors { index: Int! errors: [ActionError!]! } type ActionFacebookAdSetDailyAmount { campaignId: ID! adSetId: ID! budgetDailyAmount: BigDecimal! } type ActionFacebookCampaignDailyAmount { campaignId: ID! budgetDailyAmount: BigDecimal! } type ActionGoogleAdGroupAssetPause { campaignId: ID! adGroupId: ID! assetId: ID! assetLinkType: String! } type ActionGoogleAdGroupAssetRemove { campaignId: ID! adGroupId: ID! assetId: ID! assetLinkType: String! } type ActionGoogleAdGroupAudienceAdd { campaignId: ID! adGroupId: ID! audienceId: ID! audienceType: GoogleAdsAudienceType! } type ActionGoogleAdGroupCriterionAdjustBid { campaignId: ID! adGroupId: ID! criterionId: ID! bidModifier: BigDecimal! } type ActionGoogleAdGroupCriterionRemove { campaignId: ID! adGroupId: ID! criterionId: ID! } type ActionGoogleAdGroupTargetingSetting { campaignId: ID! adGroupId: ID! dimension: GoogleAdsTargetingSettingDimension! bidOnly: Boolean! } type ActionGoogleCampaignAssetPause { campaignId: ID! assetId: ID! assetLinkType: String! } type ActionGoogleCampaignAssetRemove { campaignId: ID! assetId: ID! assetLinkType: String! } type ActionGoogleCampaignAudienceAdd { campaignId: ID! audienceId: ID! audienceType: GoogleAdsAudienceType! } type ActionGoogleCampaignAudienceExclude { campaignId: ID! audienceId: ID! audienceType: GoogleAdsAudienceType! } type ActionGoogleCampaignBiddingStrategy { campaignId: ID! biddingStrategy: CampaignGoogleBiddingStrategyIn! } type ActionGoogleCampaignBudgetAmount { campaignBudgetId: ID! budgetDailyAmount: BigDecimal! } type ActionGoogleCampaignBudgetName { campaignBudgetId: ID! name: String! } type ActionGoogleCampaignCriterionAdjustBid { campaignId: ID! criterionId: ID! bidModifier: BigDecimal! } type ActionGoogleCampaignCriterionRemove { campaignId: ID! criterionId: ID! } type ActionGoogleCampaignRemoveDisplayNetwork { campaignId: ID! } type ActionGoogleCampaignRemoveSearchPartnerNetwork { campaignId: ID! } type ActionGoogleCampaignRemoveTargetInterestInLocation { campaignId: ID! } type ActionGoogleCampaignTargetingSetting { campaignId: ID! dimension: GoogleAdsTargetingSettingDimension! bidOnly: Boolean! } type ActionGoogleCustomerAssetPause { assetId: ID! assetLinkType: String! } type ActionGoogleCustomerAssetRemove { assetId: ID! assetLinkType: String! } type ActionLinkedInCampaignBiddingStrategy { campaignGroupId: ID! campaignId: ID! bidding: CampaignLinkedInBiddingStrategyIn! } type ActionLinkedInCampaignDailyAmount { campaignGroupId: ID! campaignId: ID! budgetDailyAmount: BigDecimal! } type ActionLinkedInCampaignOffsiteDeliveryDisable { campaignGroupId: ID! campaignId: ID! } type ActionMicrosoftAdGroupAudienceAdd { campaignId: ID! adGroupId: ID! audienceId: ID! audienceType: MicrosoftAudienceType! } type ActionMicrosoftAdGroupAudienceAdjustBid { campaignId: ID! adGroupId: ID! criterionId: ID! audienceType: MicrosoftAudienceType! bidModifier: BigDecimal! } type ActionMicrosoftAdGroupAudienceExclude { campaignId: ID! adGroupId: ID! audienceId: ID! audienceType: MicrosoftAudienceType! } type ActionMicrosoftAdGroupAudienceRemove { campaignId: ID! adGroupId: ID! criterionId: ID! audienceType: MicrosoftAudienceType! } type ActionMicrosoftAdGroupRemoveTargetInterestInLocation { campaignId: ID! adGroupId: ID! } type ActionMicrosoftAdGroupTargetSetting { campaignId: ID! adGroupId: ID! criterionTypeGroup: MicrosoftAdsTargetSettingCriterionTypeGroup! bidOnly: Boolean! } type ActionMicrosoftBudgetAmount { budgetId: ID! budgetDailyAmount: BigDecimal! } type ActionMicrosoftBudgetName { budgetId: ID! name: String! } type ActionMicrosoftCampaignAmount { campaignId: ID! budgetDailyAmount: BigDecimal! } type ActionMicrosoftCampaignAudienceAdd { campaignId: ID! audienceId: ID! audienceType: MicrosoftAudienceType! } type ActionMicrosoftCampaignAudienceAdjustBid { campaignId: ID! criterionId: ID! audienceType: MicrosoftAudienceType! bidModifier: BigDecimal! } type ActionMicrosoftCampaignAudienceExclude { campaignId: ID! audienceId: ID! audienceType: MicrosoftAudienceType! } type ActionMicrosoftCampaignAudienceRemove { campaignId: ID! criterionId: ID! audienceType: MicrosoftAudienceType! } type ActionMicrosoftCampaignBiddingScheme { campaignId: ID! biddingScheme: CampaignMicrosoftBiddingSchemeIn! } type ActionMicrosoftCampaignCreateAudienceShopping { name: String! paused: Boolean! budgetDailyAmount: BigDecimal! bidCpc: BigDecimal! storeId: ID! } type ActionMicrosoftCampaignRemoveTargetInterestInLocation { campaignId: ID! } type ActionMicrosoftCampaignTargetSetting { campaignId: ID! criterionTypeGroup: MicrosoftAdsTargetSettingCriterionTypeGroup! bidOnly: Boolean! } type ActionNegativeKeywordListKeyword { negativeKeywordListId: ID! keywordText: String! keywordMatchType: String! } type ActionNegativeKeywordListKeywordRemove { negativeKeywordListId: ID! negativeKeywordId: ID! } type ActionPlatformRecommendationDismiss { recommendationIds: [ID!]! } type ActionProductIgnore { merchantIdentifier: ID! productId: ID! "Ignores the product until the given timestamp. No value means ignore forever." until: Instant } type ActionProductUnignore { merchantIdentifier: ID! productId: ID! } type ActionPublisherExclusionListAddItem { publisherExclusionListId: ID! placement: String! } type ActionPublisherIgnore { campaignId: ID! adGroupId: ID! publisherId: ID! "Ignores the publisher until the given timestamp. No value means ignore forever." until: Instant } type ActionPublisherUnignore { campaignId: ID! adGroupId: ID! publisherId: ID! } type ActionRun { adAccount: AdAccount! status: ActionRunStatus! } type ActionRunStatusFailed { runAt: Instant! started: Instant! completed: Instant! } type ActionRunStatusPending { runAt: Instant! } type ActionRunStatusRan { runAt: Instant! started: Instant! completed: Instant! errors: [ActionErrors!]! "The status of the ad account sync if one was required due to the actions performed" sync: AdAccountSyncRunStatus "The status of any scans that were triggered due to the actions performed" scans: [ActionRunStatusRanScanRun!]! } type ActionRunStatusRanScanRunFailure implements ActionRunStatusRanScanRunInterface { scanId: ID! started: Instant! completed: Instant! } type ActionRunStatusRanScanRunPending implements ActionRunStatusRanScanRunInterface { scanId: ID! } type ActionRunStatusRanScanRunRunning implements ActionRunStatusRanScanRunInterface { scanId: ID! started: Instant! } type ActionRunStatusRanScanRunSuccess implements ActionRunStatusRanScanRunInterface { scanId: ID! started: Instant! completed: Instant! insights: [Insight!]! } type ActionRunStatusRunning { runAt: Instant! started: Instant! } type ActionSearchTermIgnore { campaignId: ID searchTerm: String! "Ignores the search term until the given timestamp. No value means ignore forever." until: Instant } type ActionSearchTermUnignore { campaignId: ID searchTerm: String! } type ActionSummary { type: ChangeLogEntryActionsExecutedType! count: Int! } type AdAccountAmazon implements AdAccountInterface { platform: AdPlatform! id: String! inserted: Instant! name: String! timeZone: TimeZone! currencyCode: CurrencyCode! performanceDataAvailableFrom: LocalDate marketPlace: String! countryCode: CountryCode! region: AmazonRegion! flags: AdAccountFlags! status: AdAccountStatus! client: Client! scans: [ScanReferenced!]! insights: AdAccountInsights! tags: [Tag!]! credentials: [AdAccountAmazonLinkedCredential!]! credentialOverridesForMutations: AdAccountAmazonCredentialOverridesForMutations! } type AdAccountAmazonCredentialOverridesForMutations { systemChanges: AdAccountAmazonLinkedCredential userChanges: AdAccountAmazonLinkedCredential } type AdAccountAmazonLinkedCredential { credential: OrganizationCredentialAmazon! notAccessible: Instant } type AdAccountConnection { total: Long offsetInfo: OffsetInfo! nodes: [AdAccount!]! } type AdAccountFacebook implements AdAccountInterface { platform: AdPlatform! id: String! inserted: Instant! name: String! timeZone: TimeZone! currencyCode: CurrencyCode! performanceDataAvailableFrom: LocalDate flags: AdAccountFlags! status: AdAccountStatus! client: Client! scans: [ScanReferenced!]! insights: AdAccountInsights! tags: [Tag!]! credentials: [AdAccountFacebookLinkedCredential!]! credentialOverridesForMutations: AdAccountFacebookCredentialOverridesForMutations! } type AdAccountFacebookCredentialOverridesForMutations { systemChanges: AdAccountFacebookLinkedCredential userChanges: AdAccountFacebookLinkedCredential } type AdAccountFacebookLinkedCredential { credential: OrganizationCredentialFacebook! notAccessible: Instant } type AdAccountFlags { "If true the ad account might contain campaigns that cannot be fetched via the API" possibleUnobtainableCampaigns: Boolean! } type AdAccountGoogle implements AdAccountInterface { platform: AdPlatform! id: String! inserted: Instant! name: String! test: Boolean! timeZone: TimeZone! currencyCode: CurrencyCode! performanceDataAvailableFrom: LocalDate flags: AdAccountFlags! status: AdAccountStatus! client: Client! scans: [ScanReferenced!]! insights: AdAccountInsights! tags: [Tag!]! credentials: [AdAccountGoogleLinkedCredential!]! credentialOverridesForMutations: AdAccountGoogleCredentialOverridesForMutations! accountBudgets: [AdAccountGoogleAccountBudget!]! merchants: AdAccountGoogleMerchants! negativeKeywordList: NegativeKeywordList } type AdAccountGoogleAccountBudget { id: Long! start: LocalDateTime! end: LocalDateTime limit: BigDecimal "What the account budget looks like if it is a valid budget entry. Either `entry` or `invalid` will be set." entry: AdAccountGoogleAccountBudgetAsEntry "If set the account budget is not valid to use as a budget entry. Either `entry` or `invalid` will be set." invalid: [GoogleAccountBudgetNotValid!] } type AdAccountGoogleAccountBudgetAsEntry { interval: Between! budget: BigDecimal! rollover: BigDecimal! } type AdAccountGoogleCredentialOverridesForMutations { systemChanges: AdAccountGoogleLinkedCredential userChanges: AdAccountGoogleLinkedCredential } type AdAccountGoogleLinkedCredential { credential: OrganizationCredentialGoogle! manager: AdAccountGoogleLinkedCredentialManager notAccessible: Instant } type AdAccountGoogleLinkedCredentialManager { id: String! name: String! } type AdAccountGoogleMerchantLinked { merchant: MerchantGoogle! credentials: [AdAccountGoogleMerchantLinkedCredential!]! } type AdAccountGoogleMerchantLinkedCredential { credential: OrganizationCredentialGoogleMerchantCenter! "If set the credential is not accessible" inaccessible: AdAccountGoogleMerchantLinkedCredentialInaccessible } type AdAccountGoogleMerchantLinkedCredentialInaccessibleDeleted { at: Instant! } type AdAccountGoogleMerchantLinkedCredentialInaccessibleExpired { at: Instant! } type AdAccountGoogleMerchantLinkedCredentialInaccessibleFailed { at: Instant! attempts: Int! } type AdAccountGoogleMerchantLinkedCredentialInaccessibleInvalid { at: Instant! } type AdAccountGoogleMerchants { referenced: [ID!]! linked: [AdAccountGoogleMerchantLinked!]! } type AdAccountId { platform: AdPlatform! id: String! } type AdAccountInsightAlertDefinition { id: ID! name: String! selector: AdAccountInsightAlertDefinitionSelector categories: [InsightCategory!]! dailySummary: Boolean! targetContacts: [Contact!] targetUsers: [User!] lastTriggered: Instant "Count of ad accounts selected statically or dynamically through the selector." adAccountsCount: Long } type AdAccountInsightAlertDefinitionConnection { total: Long offsetInfo: OffsetInfo! nodes: [AdAccountInsightAlertDefinition!]! } type AdAccountInsightAlertDefinitionSelectedAdAccountsConnection { total: Long offsetInfo: OffsetInfo! nodes: [AdAccount!]! } type AdAccountInsightAlertDefinitionSelectorAll { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type AdAccountInsightAlertDefinitionSelectorCompound { tags: [Tag!] dynamicSelector: AdAccountInsightAlertDefinitionSelectorCompoundDynamicSelector } type AdAccountInsightAlertDefinitionSelectorCompoundDynamicSelector { "Raw selector expression" selector: String! "Raw selector parse result" parseResult: ASTExpressionBooleanExpression } type AdAccountInsights { total: Long! totalCritical: Long! totalWastedSpend: Long! spend: BigDecimal! wastedSpend: InsightWastedSpend! @deprecated(reason: "made up number") } type AdAccountLinkedIn implements AdAccountInterface { platform: AdPlatform! id: String! inserted: Instant! name: String! timeZone: TimeZone! currencyCode: CurrencyCode! performanceDataAvailableFrom: LocalDate flags: AdAccountFlags! status: AdAccountStatus! client: Client! scans: [ScanReferenced!]! insights: AdAccountInsights! tags: [Tag!]! credentials: [AdAccountLinkedInLinkedCredential!]! credentialOverridesForMutations: AdAccountLinkedInCredentialOverridesForMutations! } type AdAccountLinkedInCredentialOverridesForMutations { systemChanges: AdAccountLinkedInLinkedCredential userChanges: AdAccountLinkedInLinkedCredential } type AdAccountLinkedInLinkedCredential { credential: OrganizationCredentialLinkedIn! notAccessible: Instant } type AdAccountMicrosoft implements AdAccountInterface { platform: AdPlatform! id: String! number: String! inserted: Instant! name: String! timeZone: TimeZone! currencyCode: CurrencyCode! performanceDataAvailableFrom: LocalDate flags: AdAccountFlags! status: AdAccountStatus! client: Client! scans: [ScanReferenced!]! insights: AdAccountInsights! tags: [Tag!]! credentials: [AdAccountMicrosoftLinkedCredential!]! credentialOverridesForMutations: AdAccountMicrosoftCredentialOverridesForMutations! negativeKeywordList: NegativeKeywordList } type AdAccountMicrosoftCredentialOverridesForMutations { systemChanges: AdAccountMicrosoftLinkedCredential userChanges: AdAccountMicrosoftLinkedCredential } type AdAccountMicrosoftLinkedCredential { credential: OrganizationCredentialMicrosoft! customer: AdAccountMicrosoftLinkedCredentialCustomer notAccessible: Instant } type AdAccountMicrosoftLinkedCredentialCustomer { id: String! name: String! } type AdAccountPerformance { account: AdAccount! clicks: Long! impressions: Long! spend: BigDecimal! conversions: Float! conversionsValue: Float! clickThroughRate: BigDecimal conversionRate: BigDecimal convValueCost: BigDecimal costOfSales: BigDecimal costPerClick: BigDecimal costPerConversion: BigDecimal returnOnAdSpend: BigDecimal! } type AdAccountPerformanceConnection { total: Long offsetInfo: OffsetInfo! nodes: [AdAccountPerformance!]! } type AdAccountReference { id: AdAccountId! name: String! } type AdAccountStatusInitialized { at: Instant! } type AdAccountStatusInitializing { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type AdAccountStatusNotAccessible { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type AdAccountSyncRunStatusFailure { started: Instant! completed: Instant! } type AdAccountSyncRunStatusPending { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type AdAccountSyncRunStatusRunning { started: Instant! } type AdAccountSyncRunStatusSuccess { started: Instant! completed: Instant! } type AdGoogle implements AdInterface { platform: AdPlatform! id: ID! type: AdGoogleType! canModify: Boolean! } type AdGroupAmazon implements AdGroupInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! bidDefault: BigDecimal campaign: CampaignAmazon! } type AdGroupConnection { total: Long offsetInfo: OffsetInfo! nodes: [AdGroup!]! } type AdGroupConsole { adAccount: AdAccount! status: AdGroupConsoleStatus! } type AdGroupConsoleCampaignAdGroup { classification: AdGroupConsoleClassification! campaign: AdGroupConsoleCampaign! adGroup: AdGroup! days30: AdGroupConsoleCampaignAdGroupMetrics! days60: AdGroupConsoleCampaignAdGroupMetrics! days90: AdGroupConsoleCampaignAdGroupMetrics! days180: AdGroupConsoleCampaignAdGroupMetrics! days365: AdGroupConsoleCampaignAdGroupMetrics! } type AdGroupConsoleCampaignAdGroupConnection { total: Long offsetInfo: OffsetInfo! nodes: [AdGroupConsoleCampaignAdGroup!]! } type AdGroupConsoleCampaignAdGroupMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! clickThroughRate: BigDecimal conversionRate: BigDecimal convValueCost: BigDecimal costPerClick: BigDecimal costPerConversion: BigDecimal } type AdGroupConsoleCampaignClickThroughRate implements AdGroupConsoleCampaignInterface { id: ID! name: String! target: BigDecimal benchmark: BigDecimal metrics: AdGroupConsoleCampaignMetrics! clickThroughRate: BigDecimal clickThroughRatePercentage: BigDecimal } type AdGroupConsoleCampaignConvValueCost implements AdGroupConsoleCampaignInterface { id: ID! name: String! target: BigDecimal benchmark: BigDecimal metrics: AdGroupConsoleCampaignMetrics! convValueCost: BigDecimal convValueCostPercentage: BigDecimal costPerConversion: BigDecimal } type AdGroupConsoleCampaignCostPerConversion implements AdGroupConsoleCampaignInterface { id: ID! name: String! target: BigDecimal benchmark: BigDecimal metrics: AdGroupConsoleCampaignMetrics! costPerConversion: BigDecimal costPerConversionPercentage: BigDecimal } type AdGroupConsoleCampaignImpressions implements AdGroupConsoleCampaignInterface { id: ID! name: String! target: Long benchmark: Long metrics: AdGroupConsoleCampaignMetrics! impressions: Long impressionsPercentage: BigDecimal } type AdGroupConsoleCampaignMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! } type AdGroupConsoleConnection { total: Long offsetInfo: OffsetInfo! nodes: [AdGroupConsole!]! } type AdGroupConsoleStatusCompleted { scanId: ID! id: ID! completed: Instant! "The time when the data was fetched. Will be before completed if this was a rerun." dataFetched: Instant! totals: AdGroupConsoleTotals! } type AdGroupConsoleStatusDisabled { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type AdGroupConsoleStatusInitializing { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type AdGroupConsoleStatusPending { starts: Instant! } type AdGroupConsoleStatusRunning { started: Instant! current: AdGroupConsoleStatusCompleted! } type AdGroupConsoleStatusSnoozed { until: Instant! } type AdGroupConsoleSummary { totals: AdGroupConsoleTotals! "total number of imported ad accounts" total: Long! } type AdGroupConsoleTotals { performanceGood: Int! performanceAverage: Int! performanceBad: Int! lowData: Int! spendHigh: Int! spendAverage: Int! spendLow: Int! noClicks: Int! ignored: Int! } type AdGroupFacebookCampaignBudget implements AdGroupInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! campaign: CampaignFacebookDistributedBudget! } type AdGroupFacebookDaily implements AdGroupInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! optimizationGoal: FacebookAdSetOptimizationGoal! bidStrategy: FacebookAdSetBidStrategy campaign: CampaignFacebookNormal! } type AdGroupFacebookLifetime implements AdGroupInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! optimizationGoal: FacebookAdSetOptimizationGoal! bidStrategy: FacebookAdSetBidStrategy campaign: CampaignFacebookNormal! } type AdGroupGoogle implements AdGroupInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! bidCpc: BigDecimal @deprecated(reason: "use `bidAdjustments.bidCPC`") bidAdjustments: AdGroupGoogleBidAdjustments! previousBidAdjustments: AdGroupGooglePreviousBidAdjustments targetingSettings: [GoogleAdsTargetingSetting!]! campaign: CampaignGoogle! } type AdGroupGoogleBidAdjustments { bidCPC: BigDecimal bidCPM: BigDecimal bidCPV: BigDecimal fixedCPM: BigDecimal percentCPC: BigDecimal targetCPA: BigDecimal targetCPM: BigDecimal targetCPV: BigDecimal targetROAS: Float } type AdGroupGooglePreviousBidAdjustments { value: AdGroupGoogleBidAdjustments! lastChanged: Instant! } type AdGroupMicrosoft implements AdGroupInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! bidCpc: BigDecimal @deprecated(reason: "use `bidAdjustments.bidCPC`") bidAdjustments: AdGroupMicrosoftBidAdjustments! previousBidAdjustments: AdGroupMicrosoftPreviousBidAdjustments targetSettings: [MicrosoftAdsTargetSetting!]! campaign: CampaignMicrosoft! } type AdGroupMicrosoftBidAdjustments { bidCPC: BigDecimal bidCPM: BigDecimal bidCPV: BigDecimal bidMCPA: BigDecimal percentCPC: BigDecimal } type AdGroupMicrosoftPreviousBidAdjustments { value: AdGroupMicrosoftBidAdjustments! lastChanged: Instant! } type AdMicrosoft implements AdInterface { platform: AdPlatform! id: ID! type: AdMicrosoftType! canModify: Boolean! } type AlertActiveCounts { types: [AlertActiveCountsType!]! } type AlertActiveCountsType { type: AlertType! count: Long! } type AlertAdAccountCredentialFailure implements AlertInterface { id: ID! occurred: Instant! lastOccurred: Instant! lastNotified: Instant archived: Instant credential: Credential! adAccount: AdAccount! manager: Manager reason: String! } type AlertAdAccountInsightAlert implements AlertInterface { id: ID! occurred: Instant! lastOccurred: Instant! lastNotified: Instant archived: Instant reason: String! insight: Insight } type AlertAdAccountsInaccessible implements AlertInterface { id: ID! occurred: Instant! lastOccurred: Instant! lastNotified: Instant archived: Instant credentialId: ID! credential: Credential! platform: AdPlatform! totalInaccessible: Int! inaccessible: [String!]! } type AlertBudgetAdjustmentAllBudgetsLocked implements AlertInterface { id: ID! occurred: Instant! lastOccurred: Instant! lastNotified: Instant archived: Instant lockedAmount: BigDecimal! budget: Budget__new! } type AlertBudgetAdjustmentError implements AlertInterface { id: ID! occurred: Instant! lastOccurred: Instant! lastNotified: Instant archived: Instant budget: Budget__new! } type AlertBudgetAdjustmentFirstRunLargerThanPrevious implements AlertInterface { id: ID! occurred: Instant! lastOccurred: Instant! lastNotified: Instant archived: Instant budget: Budget__new! } type AlertBudgetAdjustmentLargeIncrease implements AlertInterface { id: ID! occurred: Instant! lastOccurred: Instant! lastNotified: Instant archived: Instant budget: Budget__new! } type AlertBudgetAutoFunctionalityDisabled implements AlertInterface { id: ID! occurred: Instant! lastOccurred: Instant! lastNotified: Instant archived: Instant budget: Budget__new! adAccount: AdAccount previousAdjust: Boolean previousPauseThreshold: BigDecimal } type AlertBudgetCampaignsPaused implements AlertInterface { id: ID! occurred: Instant! lastOccurred: Instant! lastNotified: Instant archived: Instant budget: Budget__new! threshold: BigDecimal! } type AlertBudgetCampaignsSuspended implements AlertInterface { id: ID! occurred: Instant! lastOccurred: Instant! lastNotified: Instant archived: Instant budget: Budget__new! } type AlertBudgetCampaignsUnpaused implements AlertInterface { id: ID! occurred: Instant! lastOccurred: Instant! lastNotified: Instant archived: Instant budget: Budget__new! } type AlertBudgetCampaignsUnsuspended implements AlertInterface { id: ID! occurred: Instant! lastOccurred: Instant! lastNotified: Instant archived: Instant budget: Budget__new! } type AlertBudgetCustomAlert implements AlertInterface { id: ID! occurred: Instant! lastOccurred: Instant! lastNotified: Instant archived: Instant budget: Budget__new! alertDefinitionId: ID! alertName: String! check: BudgetAlertDefinitionCheckDefinition! entry: AlertBudgetCustomAlertEntry! } type AlertBudgetCustomAlertEntry { interval: Between! target: BigDecimal! rollover: BigDecimal spend: BigDecimal! progress: BigDecimal pacing: BigDecimal } "no longer truncates, only alerts" type AlertBudgetRolloverTruncated implements AlertInterface { id: ID! occurred: Instant! lastOccurred: Instant! lastNotified: Instant archived: Instant budget: Budget__new! limit: BigDecimal! target: BigDecimal! rollover: BigDecimal! excessRollover: BigDecimal! @deprecated(reason: "no longer set as truncating no longer occurs") } type AlertBudgetSpendOverThreshold implements AlertInterface { id: ID! occurred: Instant! lastOccurred: Instant! lastNotified: Instant archived: Instant budget: Budget__new! threshold: BigDecimal! } type AlertBudgetWithCampaignBudgetsAtMinimum implements AlertInterface { id: ID! occurred: Instant! lastOccurred: Instant! lastNotified: Instant archived: Instant budget: Budget__new! } type AlertBudgetWithCampaignBudgetsAtPlatformMinimum implements AlertInterface { id: ID! occurred: Instant! lastOccurred: Instant! lastNotified: Instant archived: Instant budget: Budget__new! } type AlertCategoryCountsCategory { category: InsightCategory! count: Long! } type AlertCloseVariantsAutoNegativesError implements AlertInterface { id: ID! occurred: Instant! lastOccurred: Instant! lastNotified: Instant archived: Instant adAccount: AdAccount! numErrors: Int! } type AlertConnection { pageInfo: PageInfo! edges: [AlertConnectionEdge!]! } type AlertConnectionEdge { node: Alert! cursor: String! } type AlertCredentialInvalid implements AlertInterface { id: ID! occurred: Instant! lastOccurred: Instant! lastNotified: Instant archived: Instant credentialId: ID! credential: Credential! reason: String! } type AlertHubSpotConnectionInvalid implements AlertInterface { id: ID! occurred: Instant! lastOccurred: Instant! lastNotified: Instant archived: Instant hubSpotId: ID! } type AlertMetricChange implements AlertInterface { id: ID! occurred: Instant! lastOccurred: Instant! lastNotified: Instant archived: Instant adAccount: AdAccount! alertDefinitionId: ID! result: AlertMetricChangeResult! alertName: String comparisonType: MetricChangeAlertDefinitionComparisonType metric: MetricChangeAlertDefinitionComparisonMetric } type AlertMetricChangeResultAdAccount { result: MetricChangeAlertDefinitionComparisonResult! } type AlertMetricChangeResultCampaign { total: Long! } "Summary of alerts excluding archived or resolved." type AlertSummary { total: Long! "Count for alerts of type 'budget_custom_alert'" totalBudgetCustomAlert: Long! "Count for alerts of type 'insight_alert'" totalInsight: Long! "Count for alerts of type 'metric_change'" totalMetricChange: Long! "Count for alerts of type: 'ad_account_credential_failure', 'ad_accounts_inaccessible', 'credential_invalid', 'budget_auto_functionality_disabled'" totalAdmin: Long! totalOthers: Long! } type AlertTypeCountsType { type: ScanType! count: Long! } type AssetGroupConsole { adAccount: AdAccount! status: AssetGroupConsoleStatus! } type AssetGroupConsoleCampaignAssetGroupClassificationIgnored implements AssetGroupConsoleCampaignAssetGroupClassificationInterface { type: AssetGroupConsoleClassification! } type AssetGroupConsoleCampaignAssetGroupClassificationIssues implements AssetGroupConsoleCampaignAssetGroupClassificationInterface { type: AssetGroupConsoleClassification! issues: [AssetGroupConsoleCampaignAssetGroupClassificationIssuesIssue!] } type AssetGroupConsoleCampaignAssetGroupClassificationIssuesIssue { policy: String! details: String! } type AssetGroupConsoleCampaignAssetGroupClassificationLowData implements AssetGroupConsoleCampaignAssetGroupClassificationInterface { type: AssetGroupConsoleClassification! } type AssetGroupConsoleCampaignAssetGroupClassificationNoClicks implements AssetGroupConsoleCampaignAssetGroupClassificationInterface { type: AssetGroupConsoleClassification! } type AssetGroupConsoleCampaignAssetGroupClassificationPerformanceAverage implements AssetGroupConsoleCampaignAssetGroupClassificationInterface { type: AssetGroupConsoleClassification! } type AssetGroupConsoleCampaignAssetGroupClassificationPerformanceBad implements AssetGroupConsoleCampaignAssetGroupClassificationInterface { type: AssetGroupConsoleClassification! } type AssetGroupConsoleCampaignAssetGroupClassificationPerformanceGood implements AssetGroupConsoleCampaignAssetGroupClassificationInterface { type: AssetGroupConsoleClassification! } type AssetGroupConsoleCampaignAssetGroupClassificationSpendAverage implements AssetGroupConsoleCampaignAssetGroupClassificationInterface { type: AssetGroupConsoleClassification! } type AssetGroupConsoleCampaignAssetGroupClassificationSpendHigh implements AssetGroupConsoleCampaignAssetGroupClassificationInterface { type: AssetGroupConsoleClassification! } type AssetGroupConsoleCampaignAssetGroupClassificationSpendLow implements AssetGroupConsoleCampaignAssetGroupClassificationInterface { type: AssetGroupConsoleClassification! } type AssetGroupConsoleCampaignAssetGroupClickThroughRate implements AssetGroupConsoleCampaignAssetGroupInterface { classification: AssetGroupConsoleCampaignAssetGroupClassification! campaign: AssetGroupConsoleCampaignClickThroughRate! id: ID! name: String! status: AssetGroupConsoleCampaignAssetGroupStatus! adStrength: AssetGroupConsoleAssetGroupAdStrength days30: AssetGroupConsoleCampaignAssetGroupMetrics! days60: AssetGroupConsoleCampaignAssetGroupMetrics! days90: AssetGroupConsoleCampaignAssetGroupMetrics! days180: AssetGroupConsoleCampaignAssetGroupMetrics! days365: AssetGroupConsoleCampaignAssetGroupMetrics! } type AssetGroupConsoleCampaignAssetGroupConnection { total: Long offsetInfo: OffsetInfo! nodes: [AssetGroupConsoleCampaignAssetGroup!]! } type AssetGroupConsoleCampaignAssetGroupConvValueCost implements AssetGroupConsoleCampaignAssetGroupInterface { classification: AssetGroupConsoleCampaignAssetGroupClassification! campaign: AssetGroupConsoleCampaignConvValueCost! id: ID! name: String! status: AssetGroupConsoleCampaignAssetGroupStatus! adStrength: AssetGroupConsoleAssetGroupAdStrength days30: AssetGroupConsoleCampaignAssetGroupMetrics! days60: AssetGroupConsoleCampaignAssetGroupMetrics! days90: AssetGroupConsoleCampaignAssetGroupMetrics! days180: AssetGroupConsoleCampaignAssetGroupMetrics! days365: AssetGroupConsoleCampaignAssetGroupMetrics! } type AssetGroupConsoleCampaignAssetGroupCostPerConversion implements AssetGroupConsoleCampaignAssetGroupInterface { classification: AssetGroupConsoleCampaignAssetGroupClassification! campaign: AssetGroupConsoleCampaignCostPerConversion! id: ID! name: String! status: AssetGroupConsoleCampaignAssetGroupStatus! adStrength: AssetGroupConsoleAssetGroupAdStrength days30: AssetGroupConsoleCampaignAssetGroupMetrics! days60: AssetGroupConsoleCampaignAssetGroupMetrics! days90: AssetGroupConsoleCampaignAssetGroupMetrics! days180: AssetGroupConsoleCampaignAssetGroupMetrics! days365: AssetGroupConsoleCampaignAssetGroupMetrics! } type AssetGroupConsoleCampaignAssetGroupImpressions implements AssetGroupConsoleCampaignAssetGroupInterface { classification: AssetGroupConsoleCampaignAssetGroupClassification! campaign: AssetGroupConsoleCampaignImpressions! id: ID! name: String! status: AssetGroupConsoleCampaignAssetGroupStatus! adStrength: AssetGroupConsoleAssetGroupAdStrength days30: AssetGroupConsoleCampaignAssetGroupMetrics! days60: AssetGroupConsoleCampaignAssetGroupMetrics! days90: AssetGroupConsoleCampaignAssetGroupMetrics! days180: AssetGroupConsoleCampaignAssetGroupMetrics! days365: AssetGroupConsoleCampaignAssetGroupMetrics! } type AssetGroupConsoleCampaignAssetGroupMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! clickThroughRate: BigDecimal conversionRate: BigDecimal convValueCost: BigDecimal costPerClick: BigDecimal costPerConversion: BigDecimal } type AssetGroupConsoleCampaignClickThroughRate { id: ID! identifier: Long! name: String! status: AssetGroupConsoleCampaignStatus! target: BigDecimal benchmark: BigDecimal metrics: AssetGroupConsoleCampaignMetrics! clickThroughRate: BigDecimal clickThroughRatePercentage: BigDecimal } type AssetGroupConsoleCampaignConvValueCost { id: ID! identifier: Long! name: String! status: AssetGroupConsoleCampaignStatus! target: BigDecimal benchmark: BigDecimal metrics: AssetGroupConsoleCampaignMetrics! convValueCost: BigDecimal convValueCostPercentage: BigDecimal costPerConversion: BigDecimal } type AssetGroupConsoleCampaignCostPerConversion { id: ID! identifier: Long! name: String! status: AssetGroupConsoleCampaignStatus! target: BigDecimal benchmark: BigDecimal metrics: AssetGroupConsoleCampaignMetrics! costPerConversion: BigDecimal costPerConversionPercentage: BigDecimal } type AssetGroupConsoleCampaignImpressions { id: ID! identifier: Long! name: String! status: AssetGroupConsoleCampaignStatus! target: Long benchmark: Long metrics: AssetGroupConsoleCampaignMetrics! impressions: Long impressionsPercentage: BigDecimal } type AssetGroupConsoleCampaignMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! } type AssetGroupConsoleConnection { total: Long offsetInfo: OffsetInfo! nodes: [AssetGroupConsole!]! } type AssetGroupConsoleStatusCompleted { scanId: ID! id: ID! completed: Instant! "The time when the data was fetched. Will be before completed if this was a rerun." dataFetched: Instant! totals: AssetGroupConsoleTotals! } type AssetGroupConsoleStatusDisabled { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type AssetGroupConsoleStatusInitializing { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type AssetGroupConsoleStatusPending { starts: Instant! } type AssetGroupConsoleStatusRunning { started: Instant! current: AssetGroupConsoleStatusCompleted! } type AssetGroupConsoleStatusSnoozed { until: Instant! } type AssetGroupConsoleSummary { totals: AssetGroupConsoleTotals! "total number of imported ad accounts" total: Long! } type AssetGroupConsoleTotals { performanceGood: Int! performanceAverage: Int! performanceBad: Int! lowData: Int! spendHigh: Int! spendAverage: Int! spendLow: Int! noClicks: Int! issues: Int! ignored: Int! } type AudienceConnection { total: Long offsetInfo: OffsetInfo! nodes: [Audience!]! } type AudienceConsole { adAccount: AdAccount! status: AudienceConsoleStatus! } type AudienceConsoleAudience { classification: AudienceConsoleClassification! campaign: AudienceConsoleCampaign! adGroup: AudienceConsoleAudienceAdGroup criterionId: ID! audience: AudienceConsoleAudienceAudience! days30: AudienceConsoleAudienceMetrics! days60: AudienceConsoleAudienceMetrics! days90: AudienceConsoleAudienceMetrics! days180: AudienceConsoleAudienceMetrics! days365: AudienceConsoleAudienceMetrics! currentBidAdjustment: BidAdjustment previousBidAdjustment: PreviousBidAdjustment } type AudienceConsoleAudienceAdGroup { id: ID! name: String! } type AudienceConsoleAudienceAudience { id: ID! name: String! type: String! } type AudienceConsoleAudienceConnection { total: Long offsetInfo: OffsetInfo! nodes: [AudienceConsoleAudience!]! } type AudienceConsoleAudienceMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! clickThroughRate: BigDecimal conversionRate: BigDecimal convValueCost: BigDecimal costPerClick: BigDecimal costPerConversion: BigDecimal } type AudienceConsoleCampaignClickThroughRate implements AudienceConsoleCampaignInterface { id: ID! name: String! target: BigDecimal benchmark: BigDecimal metrics: AudienceConsoleCampaignMetrics! clickThroughRate: BigDecimal clickThroughRatePercentage: BigDecimal } type AudienceConsoleCampaignConvValueCost implements AudienceConsoleCampaignInterface { id: ID! name: String! target: BigDecimal benchmark: BigDecimal metrics: AudienceConsoleCampaignMetrics! convValueCost: BigDecimal convValueCostPercentage: BigDecimal costPerConversion: BigDecimal } type AudienceConsoleCampaignCostPerConversion implements AudienceConsoleCampaignInterface { id: ID! name: String! target: BigDecimal benchmark: BigDecimal metrics: AudienceConsoleCampaignMetrics! costPerConversion: BigDecimal costPerConversionPercentage: BigDecimal } type AudienceConsoleCampaignImpressions implements AudienceConsoleCampaignInterface { id: ID! name: String! target: Long benchmark: Long metrics: AudienceConsoleCampaignMetrics! impressions: Long impressionsPercentage: BigDecimal } type AudienceConsoleCampaignMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! } type AudienceConsoleConnection { total: Long offsetInfo: OffsetInfo! nodes: [AudienceConsole!]! } type AudienceConsoleStatusCompleted { scanId: ID! id: ID! completed: Instant! "The time when the data was fetched. Will be before completed if this was a rerun." dataFetched: Instant! totals: AudienceConsoleTotals! } type AudienceConsoleStatusDisabled { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type AudienceConsoleStatusInitializing { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type AudienceConsoleStatusPending { starts: Instant! } type AudienceConsoleStatusRunning { started: Instant! current: AudienceConsoleStatusCompleted! } type AudienceConsoleStatusSnoozed { until: Instant! } type AudienceConsoleSummary { totals: AudienceConsoleTotals! "total number of imported ad accounts" total: Long! } type AudienceConsoleTotals { performanceGood: Int! performanceAverage: Int! performanceBad: Int! lowData: Int! spendHigh: Int! spendAverage: Int! spendLow: Int! noClicks: Int! ignored: Int! } type AudienceGoogle implements AudienceInterface { id: ID! adAccountId: AdAccountId! type: AudiencesGoogleType! name: String! description: String scope: GoogleAudienceScope userInterestTaxonomyType: GoogleAdsUserInterestTaxonomyType source: AudienceSource! parentId: ID } type AudienceManager { adAccount: AdAccount! status: AudienceManagerStatus! } type AudienceManagerCampaignAdGroup { campaign: AudienceManagerCampaignAdGroupCampaign! adGroup: AudienceManagerCampaignAdGroupAdGroup targetingType: AudienceManagerTargetingType classification: AudienceManagerClassification! audienceCount: Int! days7: AudienceManagerCampaignAdGroupMetrics! days14: AudienceManagerCampaignAdGroupMetrics! days30: AudienceManagerCampaignAdGroupMetrics! days60: AudienceManagerCampaignAdGroupMetrics! days90: AudienceManagerCampaignAdGroupMetrics! } type AudienceManagerCampaignAdGroupAdGroup { id: ID! name: String! } type AudienceManagerCampaignAdGroupCampaign { id: ID! name: String! } type AudienceManagerCampaignAdGroupConnection { total: Long offsetInfo: OffsetInfo! nodes: [AudienceManagerCampaignAdGroup!]! } type AudienceManagerCampaignAdGroupMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! clickThroughRate: BigDecimal conversionRate: BigDecimal convValueCost: BigDecimal costPerClick: BigDecimal costPerConversion: BigDecimal } type AudienceManagerConnection { total: Long offsetInfo: OffsetInfo! nodes: [AudienceManager!]! } type AudienceManagerStatusCompleted { scanId: ID! id: ID! completed: Instant! "The time when the data was fetched. Will be before completed if this was a rerun." dataFetched: Instant! totals: AudienceManagerTotals! } type AudienceManagerStatusDisabled { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type AudienceManagerStatusInitializing { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type AudienceManagerStatusPending { starts: Instant! } type AudienceManagerStatusRunning { started: Instant! current: AudienceManagerStatusCompleted! } type AudienceManagerStatusSnoozed { until: Instant! } type AudienceManagerSummary { totals: AudienceManagerTotals! "total number of imported ad accounts" total: Long! } type AudienceManagerTotals { campaignNoAudience: Int! campaignObservation: Int! campaignTargeting: Int! adGroupNoAudience: Int! adGroupObservation: Int! adGroupTargeting: Int! ignored: Int! notApplicable: Int! } type AudienceMicrosoft implements AudienceInterface { id: ID! adAccountId: AdAccountId! name: String! description: String type: MicrosoftAudienceType! supportedCampaignTypes: [CampaignMicrosoftType!]! source: AudienceSource! } type Between { from: LocalDate! to: LocalDate! } type BidAdjustmentGoogle { modifier: BigDecimal! } type BidAdjustmentMicrosoftFixed { amount: Float! } type BidAdjustmentMicrosoftMultiplier { multiplier: BigDecimal! } type BudgetAlertDefinition { id: ID! name: String! selector: BudgetAlertDefinitionSelector check: BudgetAlertDefinitionCheckDefinition! options: BudgetAlertDefinitionOptions targetContacts: [Contact!] targetUsers: [User!] lastTriggered: Instant budgets: [Budget__new!] @deprecated(reason: "Use the `budgetAlertDefinitionSelectedBudgets` query instead") "Total of budgets selected statically or dynamically through the selector" budgetsCount: Long } type BudgetAlertDefinitionCheckDefinitionDailySpendCheck { threshold: BudgetAlertDefinitionCheckDefinitionThresholdPercentage! } type BudgetAlertDefinitionCheckDefinitionPacingCheck { operator: BudgetAlertDefinitionCheckDefinitionOperator! threshold: BudgetAlertDefinitionCheckDefinitionThresholdPercentage! } type BudgetAlertDefinitionCheckDefinitionSpendCheck { threshold: BudgetAlertDefinitionCheckDefinitionThreshold! } type BudgetAlertDefinitionCheckDefinitionThresholdAmount { value: BigDecimal! } type BudgetAlertDefinitionCheckDefinitionThresholdPercentage { value: BigDecimal! } type BudgetAlertDefinitionConnection { total: Long offsetInfo: OffsetInfo! nodes: [BudgetAlertDefinition!]! } type BudgetAlertDefinitionOptions { silenceNotifications: BudgetAlertDefinitionOptionsSilenceNotifications! } type BudgetAlertDefinitionOptionsSilenceNotifications { firstXDays: Int lastXDays: Int } type BudgetAlertDefinitionSelectedBudgetsConnection { total: Long offsetInfo: OffsetInfo! nodes: [Budget__new!]! } type BudgetAlertDefinitionSelectorAll { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type BudgetAlertDefinitionSelectorCompound { tags: [Tag!] isClientAllSelectedBudget: Boolean dynamicSelector: BudgetAlertDefinitionSelectorCompoundDynamicSelector } type BudgetAlertDefinitionSelectorCompoundDynamicSelector { "Raw selector expression" selector: String! "Raw selector parse result" parseResult: ASTExpressionBooleanExpression } type BudgetAllocationRecommendation { current: BudgetAllocationRecommendationCurrent lastManualChange: Instant } type BudgetAllocationRecommendationCurrent { recommendationId: ID! created: Instant! } type BudgetAutoAdjust { version: BudgetAutoAdjustVersion! } type BudgetAutoNotify { contacts: [Contact!] users: [User!] } type BudgetAutoPause { threshold: BigDecimal! } type BudgetCampaignBudget { campaignBudget: CampaignBudget! lockedForAdjustments: Boolean! rangeForAdjustments: BudgetCampaignBudgetRange recommended: BigDecimal recommendedVariance: BigDecimal } type BudgetCampaignBudgetConnection { total: Long offsetInfo: OffsetInfo! nodes: [BudgetCampaignBudget!]! summary: BudgetCampaignBudgetSummary! } type BudgetCampaignBudgetRangeMax { max: BigDecimal! } type BudgetCampaignBudgetRangeMin { min: BigDecimal! } type BudgetCampaignBudgetRangeMinMax { min: BigDecimal! max: BigDecimal! } type BudgetCampaignBudgetSummary { adAccounts: [BudgetCampaignBudgetSummaryAdAccount!]! total: BudgetCampaignBudgetSummaryTotal! } type BudgetCampaignBudgetSummaryAdAccount { adAccountId: AdAccountId! currencyCode: CurrencyCode! budgetConversionFactor: BigDecimal! dailyAmountTotalActive: BigDecimal! dailyAmountTotalVisible: BigDecimal! dailyAmountTotal: BigDecimal! recommendedTotal: BigDecimal } type BudgetCampaignBudgetSummaryTotal { currencyCode: CurrencyCode! dailyAmountTotalActive: BigDecimal! dailyAmountTotalVisible: BigDecimal! dailyAmountTotal: BigDecimal! recommendedTotal: BigDecimal } type BudgetCampaignBudgetsSummary { dailyAmountTotalActive: BigDecimal! dailyAmountTotalVisible: BigDecimal! dailyAmountTotal: BigDecimal! } type BudgetConflictAutoFunctionality { conflicting: Budget__new! because: [BudgetConflictType!]! numCampaignBudgets: Int! campaignBudgets("Maximum allowed value is 10,000" offset: Int, "Maximum allowed value is 1,000" limit: Int): BudgetConflictCampaignBudgetConnection } type BudgetConflictCampaignBudgetConnection { total: Long offsetInfo: OffsetInfo! nodes: [CampaignBudget!]! } type BudgetConflictChildBudgetMissingCampaignBudgets { numCampaignBudgets: Int! campaignBudgets("Maximum allowed value is 10,000" offset: Int, "Maximum allowed value is 1,000" limit: Int): BudgetConflictCampaignBudgetConnection } type BudgetConflictChildBudgetSpendMismatch { spend: BigDecimal! childrenSpend: BigDecimal! difference: BigDecimal! } type BudgetConflictChildBudgetTotalBudgetMismatch { totalBudget: BigDecimal! childrenTotalBudget: BigDecimal! difference: BigDecimal! } type BudgetConflicts { auto: [BudgetConflictAutoFunctionality!]! missingCampaignBudgets: BudgetConflictChildBudgetMissingCampaignBudgets spendMismatch: BudgetConflictChildBudgetSpendMismatch totalBudgetMismatch: BudgetConflictChildBudgetTotalBudgetMismatch } type BudgetConnection__new { total: Long offsetInfo: OffsetInfo! nodes: [Budget__new!]! } type BudgetCustomV2 { id: ID! parentId: ID client: Client! @deprecated(reason: "clients will be removed in the future, use `campaignBudgetGroup.adAccounts` instead") campaignBudgetGroup: CampaignBudgetGroup! status: BudgetStatus! inserted: Instant! name: String! timeZone: TimeZone! currencyCode: CurrencyCode! pacing: BudgetPacing! reportChildAmountDiff: Boolean! alertDefinitionCount: Long! auto: BudgetCustomV2Auto! spend: BudgetCustomV2Spend! entries: BudgetEntries! schedules: BudgetSchedules! conflictsV2: BudgetConflicts! allocationRecommendation: BudgetAllocationRecommendation history("If not provided defaults to the maximum allowed value of 84" days: Int): [BudgetHistory!] campaignBudgetsSummary: BudgetCampaignBudgetsSummary } type BudgetCustomV2Auto { adjust: BudgetAutoAdjust pause: BudgetAutoPause suspend: Boolean! notify: BudgetAutoNotify } type BudgetCustomV2Spend { forecast: BigDecimal idealDaily: BigDecimal yesterday: BigDecimal today: BigDecimal } type BudgetEntries { prev: BudgetEntry "The KPI at the end of the previous entry" prevKPI: CampaignBudgetGroupKpi current: BudgetEntry past("Filter expression. Supported variables are 'interval.from', 'interval.to'" filter: String, "Order the results by providing pairs of columns and sort directions" order: [BudgetEntryOrder!], offset: Int, "Maximum allowed value is 24" limit: Int): BudgetEntryConnection upcoming("Filter expression. Supported variables are 'interval.from', 'interval.to'" filter: String, "Order the results by providing pairs of columns and sort directions" order: [BudgetEntryOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 200" limit: Int): BudgetEntryUpcomingConnection } type BudgetEntry { id: ID! lastUpdated: Instant! interval: Between! target: BigDecimal! rollover: BigDecimal rolloverStrategy: BudgetRollOverStrategy totalBudget: BigDecimal! clicks: Long! impressions: Long! spend: BigDecimal! conversions: Float! conversionsValue: Float! clickThroughRate: BigDecimal conversionRate: BigDecimal costPerClick: BigDecimal costPerConversion: BigDecimal convValueCost: BigDecimal returnOnAdSpend: BigDecimal! costOfSales: BigDecimal progress: BigDecimal pacing: BigDecimal kpiPercentage: BigDecimal } type BudgetEntryConnection { total: Long offsetInfo: OffsetInfo! nodes: [BudgetEntry!]! } type BudgetEntryUpcoming { id: ID! lastUpdated: Instant! interval: Between! target: BigDecimal! } type BudgetEntryUpcomingConnection { total: Long offsetInfo: OffsetInfo! nodes: [BudgetEntryUpcoming!]! } type BudgetGoogleAccount { id: ID! adAccount: AdAccountGoogle! kpi: CampaignBudgetGroupKpi status: BudgetStatus! inserted: Instant! name: String! pacing: BudgetPacing! reportChildAmountDiff: Boolean! alertDefinitionCount: Long! auto: BudgetGoogleAccountAuto! spend: BudgetGoogleAccountSpend! entries: BudgetEntries conflictsV2: BudgetConflicts! allocationRecommendation: BudgetAllocationRecommendation history("If not provided defaults to the maximum allowed value of 84" days: Int): [BudgetHistory!] campaignBudgetsSummary: BudgetCampaignBudgetsSummary } type BudgetGoogleAccountAuto { adjust: BudgetAutoAdjust notify: BudgetAutoNotify } type BudgetGoogleAccountSpend { forecast: BigDecimal idealDaily: BigDecimal yesterday: BigDecimal today: BigDecimal } type BudgetHistory { date: LocalDate! effectiveTarget: BigDecimal metrics: [BudgetHistoryAdAccountMetrics!]! } type BudgetHistoryAdAccountMetrics { adAccountId: AdAccountId! budget: BigDecimal metrics: BudgetHistoryMetrics! } type BudgetHistoryMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! averageOrderValue: BigDecimal clickThroughRate: BigDecimal clicksPerConversion: Float conversionRate: BigDecimal convValueCost: BigDecimal costOfSales: BigDecimal costPerClick: BigDecimal costPerConversion: BigDecimal } type BudgetHistorySummary { id: ID! effectiveTarget: BigDecimal effectiveProgress: BigDecimal metrics: BudgetHistoryMetrics! } type BudgetNewScheduleCustom { interval: Between! target: BigDecimal! "only allowed if the interval is current" rollover: BigDecimal rolloverStrategy: BudgetRollOverStrategy! "only allowed if the interval is in the past" spend: BigDecimal } type BudgetNewScheduleRecurring { "if not set then a best effort attempt is made to set it to the first day of the current interval" from: LocalDate to: LocalDate repeat: BudgetScheduleRepeat! target: BigDecimal! rolloverStrategy: BudgetRollOverStrategy! "if set to true the initial current entry budget is calculated pro-rata" proRata: Boolean! "if set the current entry will have its rollover set to this value" currentRollover: BigDecimal "if set the current entry will have its target set to this value instead of 'target'" currentTarget: BigDecimal } type BudgetPacingLinear { _notUsed: String } type BudgetPerformanceCard { id: ID! platforms: BudgetPerformanceCardAdPlatforms! metric: BudgetPerformanceCardMetric! days: Int! } type BudgetPerformanceCardAdPlatformsAll { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type BudgetPerformanceCardAdPlatformsSubset { platforms: [AdPlatform!]! } type BudgetPerformanceCardsForBudget { budgetId: ID! cards: [BudgetPerformanceCard!]! } type BudgetPreviewAdjustments { id: ID! created: Instant! totalBudget: BigDecimal! interval: Between! spend: BigDecimal! "True if the spend was estimated by using daily campaign spend" spendEstimated: Boolean! adAccounts: [BudgetPreviewAdjustmentsAdAccount!] campaignBudgets("Maximum allowed value is 10,000" offset: Int, "Maximum allowed value is 1,000" limit: Int): BudgetPreviewAdjustmentsCampaignBudgetConnection } type BudgetPreviewAdjustmentsAdAccount { adAccount: AdAccount! dailyBudget: BigDecimal! } type BudgetPreviewAdjustmentsCampaignBudget { campaignBudget: CampaignBudget! amount: BigDecimal! previous: BigDecimal! } type BudgetPreviewAdjustmentsCampaignBudgetConnection { total: Long offsetInfo: OffsetInfo! nodes: [BudgetPreviewAdjustmentsCampaignBudget!]! } type BudgetPreviewConflicts { id: ID! created: Instant! client: Client budgets: [Budget__new!] conflicting("Maximum allowed value is 10,000" offset: Int, "Maximum allowed value is 1,000" limit: Int): BudgetPreviewConflictsCampaignBudgetConnection } type BudgetPreviewConflictsCampaignBudget { budgetId: ID! campaignBudget: CampaignBudget! } type BudgetPreviewConflictsCampaignBudgetConnection { total: Long offsetInfo: OffsetInfo! nodes: [BudgetPreviewConflictsCampaignBudget!]! } type BudgetReference { id: ID! name: String! } type BudgetRollOverStrategyAll { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type BudgetRollOverStrategyMaxAmount { max: BigDecimal! } type BudgetRollOverStrategyMaxPercentage { max: BigDecimal! } type BudgetRollOverStrategyZero { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type BudgetSchedule { from: LocalDate! to: LocalDate repeat: BudgetScheduleRepeat! } type BudgetScheduleConnection { pageInfo: PageInfo! edges: [BudgetScheduleConnectionEdge!]! } type BudgetScheduleConnectionEdge { node: BudgetScheduleV2! cursor: String! } type BudgetScheduleCustom { id: ID! interval: Between! target: BigDecimal! rollover: BigDecimal rolloverStrategy: BudgetRollOverStrategy! } type BudgetScheduleCustomCreate { period: Between! target: BigDecimal! rollover: BigDecimal rolloverStrategy: BudgetRollOverStrategy! spend: BigDecimal proRated: Boolean! } type BudgetScheduleCustomRemove { period: Between! } type BudgetScheduleCustomUpdate { period: Between! changesCustom: BudgetScheduleCustomUpdateChanges! } type BudgetScheduleCustomUpdateChanges { period: Between target: BigDecimal rollover: BigDecimal rolloverStrategy: BudgetRollOverStrategy } type BudgetScheduleRecurring { id: ID! interval: BudgetScheduleRecurringInterval! repeat: BudgetScheduleRepeat! target: BigDecimal! rolloverStrategy: BudgetRollOverStrategy! } type BudgetScheduleRecurringCreate { interval: BudgetScheduleRecurringInterval! repeat: BudgetScheduleRepeat! target: BigDecimal! rolloverStrategy: BudgetRollOverStrategy! } type BudgetScheduleRecurringInterval { from: LocalDate! to: LocalDate } type BudgetScheduleRecurringRemove { interval: BudgetScheduleRecurringInterval! } type BudgetScheduleRecurringUpdate { interval: BudgetScheduleRecurringInterval! changesRecurring: BudgetScheduleRecurringUpdateChanges! } type BudgetScheduleRecurringUpdateChanges { from: LocalDate to: LocalDate target: BigDecimal rolloverStrategy: BudgetRollOverStrategy currentTo: LocalDate currentTarget: BigDecimal currentRollover: BigDecimal } type BudgetScheduleRepeatDaily { length: Int! } type BudgetScheduleRepeatMonthly { startDay: Int! length: Int! } type BudgetScheduleRepeatWeekly { startDayOfWeek: DayOfWeek! length: Int! } type BudgetSchedules { current: BudgetScheduleV2 next: BudgetScheduleV2 past("Maximum allowed value is 500" last: Int, before: String): BudgetScheduleConnection upcoming("Maximum allowed value is 500" first: Int, after: String): BudgetScheduleConnection } type BudgetStatusInitializing { started: Instant! } type BudgetStatusUpdated { at: Instant! } type BudgetStatusUpdating { started: Instant! } type BudgetSummary { kpiPerformance: BudgetSummaryKPIPerformance! pacing: BudgetSummaryPacing! total: Long! } type BudgetSummaryKPIPerformance { "<=90%" below: Long! "90%< <110%" on: Long! ">=110%" above: Long! } type BudgetSummaryPacing { "<=80%" under: Long! "80%< <=90%" underClose: Long! "90%< <110%" on: Long! "110%<= <120%" overClose: Long! ">=120%" over: Long! } type BudgetTemplate { id: ID! name: String! data: BudgetTemplateData! } type BudgetTemplateData { name: String! rollOverStrategy: BudgetRollOverStrategy! pacing: BudgetPacing! repeat: BudgetScheduleRepeat! proRata: Boolean! auto: BudgetTemplateDataAuto! selector: String! kpi: CampaignBudgetGroupKpi } type BudgetTemplateDataAuto { adjust: BudgetAutoAdjust pause: BudgetAutoPause notify: BudgetAutoNotify } type BudgetTreeClientAllSelectedBudget implements BudgetTreeInterface { client: Client! budget: Budget__new! childIds: [ID!]! children: [Budget__new!]! } type BudgetTreeClientNoAllSelectedBudget implements BudgetTreeInterface { client: Client! childIds: [ID!]! children: [Budget__new!]! } type BudgetTreeConnection { total: Long offsetInfo: OffsetInfo! nodes: [BudgetTree!]! } type BudgetTreeMultipleRoots implements BudgetTreeInterface { adAccounts: [AdAccount!]! childIds: [ID!]! children: [Budget__new!]! } type BudgetTreeSingleRoot implements BudgetTreeInterface { budget: Budget__new! childIds: [ID!]! children: [Budget__new!]! } type CampaignAmazon implements CampaignInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! type: CampaignAmazonType! bidding: CampaignAmazonBidding previousBidding: CampaignAmazonPreviousBidding adAccount: AdAccountAmazon! keywords: CampaignAmazonKeywords! } type CampaignAmazonBiddingCostPer { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type CampaignAmazonBiddingCostPerThousandViewedImpressions { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type CampaignAmazonBiddingDynamicAutoSales { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type CampaignAmazonBiddingDynamicLegacySales { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type CampaignAmazonBiddingDynamicManual { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type CampaignAmazonBiddingDynamicRuleBased { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type CampaignAmazonBiddingMaximizeImmediateSales { optimization: Boolean! } type CampaignAmazonBiddingMaximizeNewToBrandCustomers { optimization: Boolean! } type CampaignAmazonKeywords { "True if one or more ad groups in this campaign can have keywords added to them" canAdd: Boolean! "True if this campaign allows adding of negative keywords" canAddNegative: Boolean! } type CampaignAmazonPreviousBidding { value: CampaignAmazonBidding lastChanged: Instant! } type CampaignBudgetAmazonDaily implements CampaignBudgetInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! amount: BigDecimal! daysScheduled: [DayOfWeek!]! campaign: CampaignAmazon! metrics: CampaignBudgetMetrics! minimumDailyAmount: BigDecimal! minimumDailyAdjustAmount: BigDecimal! } type CampaignBudgetAmazonLifetime implements CampaignBudgetInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! total: BigDecimal! estimatedDailyAmount: BigDecimal daysScheduled: [DayOfWeek!]! campaign: CampaignAmazon! metrics: CampaignBudgetMetrics! } type CampaignBudgetConnection { total: Long offsetInfo: OffsetInfo! nodes: [CampaignBudget!]! } type CampaignBudgetFacebookAdSetDaily implements CampaignBudgetInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! amount: BigDecimal! daysScheduled: [DayOfWeek!]! adSet: AdGroupFacebookDaily! metrics: CampaignBudgetMetrics! minimumDailyAmount: BigDecimal minimumDailyAdjustAmount: BigDecimal } type CampaignBudgetFacebookAdSetLifetime implements CampaignBudgetInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! total: BigDecimal! remaining: BigDecimal! estimatedDailyAmount: BigDecimal daysScheduled: [DayOfWeek!]! adSet: AdGroupFacebookLifetime! metrics: CampaignBudgetMetrics! } type CampaignBudgetFacebookCampaignDaily implements CampaignBudgetInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! amount: BigDecimal! daysScheduled: [DayOfWeek!]! campaign: CampaignFacebookDistributedBudget! metrics: CampaignBudgetMetrics! minimumDailyAmount: BigDecimal minimumDailyAdjustAmount: BigDecimal } type CampaignBudgetFacebookCampaignLifetime implements CampaignBudgetInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! total: BigDecimal! remaining: BigDecimal! estimatedDailyAmount: BigDecimal daysScheduled: [DayOfWeek!]! campaign: CampaignFacebookDistributedBudget! metrics: CampaignBudgetMetrics! } type CampaignBudgetGoogleAttachedCustomPeriod implements CampaignBudgetInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! total: BigDecimal! remaining: BigDecimal! estimatedDailyAmount: BigDecimal daysScheduled: [DayOfWeek!]! campaign: CampaignGoogle! metrics: CampaignBudgetMetrics! } type CampaignBudgetGoogleAttachedDaily implements CampaignBudgetInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! amount: BigDecimal! daysScheduled: [DayOfWeek!]! campaign: CampaignGoogle! metrics: CampaignBudgetMetrics! minimumDailyAmount: BigDecimal! minimumDailyAdjustAmount: BigDecimal! } type CampaignBudgetGoogleShared implements CampaignBudgetInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! amount: BigDecimal! daysScheduled: [DayOfWeek!]! adAccount: AdAccountGoogle! deleted: Boolean! aggregatedCampaignStatus: Status aggregatedCampaignStatusV2: StatusV2 metrics: CampaignBudgetMetrics! minimumDailyAmount: BigDecimal! minimumDailyAdjustAmount: BigDecimal! } type CampaignBudgetGroup { id: ID! name: String! client: Client! @deprecated(reason: "clients will be removed in the future, use `adAccounts` instead") adAccounts: [AdAccount!]! selector: String "Raw selector parse result" selectorAST: ASTExpressionBooleanExpression selected: [CampaignBudgetGroupSelected!] kpi: CampaignBudgetGroupKpi } type CampaignBudgetGroupAdAccountMetrics { adAccountId: AdAccountId! metrics: CampaignBudgetGroupMetrics! } type CampaignBudgetGroupConnection { total: Long offsetInfo: OffsetInfo! nodes: [CampaignBudgetGroup!]! } type CampaignBudgetGroupDailyMetrics { date: LocalDate! metrics: [CampaignBudgetGroupAdAccountMetrics!]! } type CampaignBudgetGroupKpiClickThroughRate { clickThroughRate: BigDecimal! } type CampaignBudgetGroupKpiClickThroughRateLastYear { clickThroughRateLastYear: BigDecimal } type CampaignBudgetGroupKpiClickThroughRatePreviousPeriod { periods: Int! clickThroughRatePreviousPeriod: BigDecimal } type CampaignBudgetGroupKpiConvRate { conversionRate: BigDecimal! } type CampaignBudgetGroupKpiConvRateLastYear { conversionRateLastYear: BigDecimal } type CampaignBudgetGroupKpiConvRatePreviousPeriod { periods: Int! conversionRatePreviousPeriod: BigDecimal } type CampaignBudgetGroupKpiConvValueCost { convValueCost: BigDecimal! } type CampaignBudgetGroupKpiConvValueCostLastYear { convValueCostLastYear: BigDecimal } type CampaignBudgetGroupKpiConvValueCostPreviousPeriod { periods: Int! convValueCostPreviousPeriod: BigDecimal } type CampaignBudgetGroupKpiConversions { conversions: BigDecimal! costPerConversion: BigDecimal } type CampaignBudgetGroupKpiConversionsLastYear { conversionsLastYear: BigDecimal costPerConversionLastYear: BigDecimal } type CampaignBudgetGroupKpiConversionsPreviousPeriod { periods: Int! conversionsPreviousPeriod: BigDecimal costPerConversionPreviousPeriod: BigDecimal } type CampaignBudgetGroupKpiCostOfSales { costOfSales: BigDecimal! } type CampaignBudgetGroupKpiCostOfSalesLastYear { costOfSalesLastYear: BigDecimal } type CampaignBudgetGroupKpiCostOfSalesPreviousPeriod { periods: Int! costOfSalesPreviousPeriod: BigDecimal } type CampaignBudgetGroupKpiCostPerConversion { costPerConversion: BigDecimal! } type CampaignBudgetGroupKpiCostPerConversionLastYear { costPerConversionLastYear: BigDecimal } type CampaignBudgetGroupKpiCostPerConversionPreviousPeriod { periods: Int! costPerConversionPreviousPeriod: BigDecimal } type CampaignBudgetGroupKpiImpressions { impressions: Long! } type CampaignBudgetGroupKpiImpressionsLastYear { impressionsLastYear: Long } type CampaignBudgetGroupKpiImpressionsPreviousPeriod { periods: Int! impressionsPreviousPeriod: Long } type CampaignBudgetGroupMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! averageOrderValue: BigDecimal clickThroughRate: BigDecimal clicksPerConversion: Float conversionRate: BigDecimal convValueCost: BigDecimal costOfSales: BigDecimal costPerClick: BigDecimal costPerConversion: BigDecimal } type CampaignBudgetGroupPreviewConflicts { id: ID! created: Instant! client: Client groups: [CampaignBudgetGroup!] conflicting("Maximum allowed value is 10,000" offset: Int, "Maximum allowed value is 1,000" limit: Int): CampaignBudgetGroupPreviewConflictsCampaignBudgetConnection } type CampaignBudgetGroupPreviewConflictsCampaignBudget { campaignBudgetGroupId: ID! campaignBudget: CampaignBudget! } type CampaignBudgetGroupPreviewConflictsCampaignBudgetConnection { total: Long offsetInfo: OffsetInfo! nodes: [CampaignBudgetGroupPreviewConflictsCampaignBudget!]! } type CampaignBudgetGroupSelected { platform: AdPlatform! adAccountId: ID! campaignBudgetId: ID! } type CampaignBudgetLinkedInDaily implements CampaignBudgetInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! daily: BigDecimal! daysScheduled: [DayOfWeek!]! campaign: CampaignLinkedIn! metrics: CampaignBudgetMetrics! minimumDailyAmount: BigDecimal! minimumDailyAdjustAmount: BigDecimal! } type CampaignBudgetLinkedInDailyAndTotal implements CampaignBudgetInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! daily: BigDecimal! total: BigDecimal! remaining: BigDecimal! daysScheduled: [DayOfWeek!]! campaign: CampaignLinkedIn! metrics: CampaignBudgetMetrics! minimumDailyAmount: BigDecimal! minimumDailyAdjustAmount: BigDecimal! } type CampaignBudgetLinkedInTotal implements CampaignBudgetInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! total: BigDecimal! remaining: BigDecimal! estimatedDailyAmount: BigDecimal daysScheduled: [DayOfWeek!]! campaign: CampaignLinkedIn! metrics: CampaignBudgetMetrics! } type CampaignBudgetMetrics { yesterday: CampaignBudgetMetricsYesterday! last28Days: CampaignBudgetMetricsLast28Days! last7DaysAverageCost: BigDecimal! last28DaysAverageCost: BigDecimal! maxSpend: BigDecimal } type CampaignBudgetMetricsLast28Days { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! estimatedImpressionShareLostBudget: BigDecimal estimatedImpressionShareLostRank: BigDecimal clickThroughRate: BigDecimal conversionRate: BigDecimal convValueCost: BigDecimal costOfSales: BigDecimal costPerClick: BigDecimal costPerConversion: BigDecimal } type CampaignBudgetMetricsYesterday { cost: BigDecimal! } type CampaignBudgetMicrosoftDaily implements CampaignBudgetInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! amount: BigDecimal! daysScheduled: [DayOfWeek!]! campaign: CampaignMicrosoft! metrics: CampaignBudgetMetrics! minimumDailyAmount: BigDecimal! minimumDailyAdjustAmount: BigDecimal! } type CampaignBudgetMicrosoftShared implements CampaignBudgetInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! amount: BigDecimal! daysScheduled: [DayOfWeek!]! adAccount: AdAccountMicrosoft! deleted: Boolean! aggregatedCampaignStatus: Status aggregatedCampaignStatusV2: StatusV2 metrics: CampaignBudgetMetrics! minimumDailyAmount: BigDecimal! minimumDailyAdjustAmount: BigDecimal! } type CampaignConnection { total: Long offsetInfo: OffsetInfo! nodes: [Campaign!]! } type CampaignConsole { adAccount: AdAccount! status: CampaignConsoleStatus! } type CampaignConsoleAdAccountMetrics { impressions: Long! clicks: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! costPerConversion: BigDecimal convValueCost: BigDecimal } type CampaignConsoleCampaignClickThroughRate implements CampaignConsoleCampaignInterface { classification: CampaignConsoleClassification! campaign: PerformanceCampaign! target: BigDecimal benchmark: BigDecimal days30: CampaignConsoleCampaignMetrics! days60: CampaignConsoleCampaignMetrics! days90: CampaignConsoleCampaignMetrics! days180: CampaignConsoleCampaignMetrics! days365: CampaignConsoleCampaignMetrics! } type CampaignConsoleCampaignConnection { total: Long offsetInfo: OffsetInfo! nodes: [CampaignConsoleCampaign!]! } type CampaignConsoleCampaignConvValueCost implements CampaignConsoleCampaignInterface { classification: CampaignConsoleClassification! campaign: PerformanceCampaign! target: BigDecimal benchmark: BigDecimal days30: CampaignConsoleCampaignMetrics! days60: CampaignConsoleCampaignMetrics! days90: CampaignConsoleCampaignMetrics! days180: CampaignConsoleCampaignMetrics! days365: CampaignConsoleCampaignMetrics! } type CampaignConsoleCampaignCostPerConversion implements CampaignConsoleCampaignInterface { classification: CampaignConsoleClassification! campaign: PerformanceCampaign! target: BigDecimal benchmark: BigDecimal days30: CampaignConsoleCampaignMetrics! days60: CampaignConsoleCampaignMetrics! days90: CampaignConsoleCampaignMetrics! days180: CampaignConsoleCampaignMetrics! days365: CampaignConsoleCampaignMetrics! } type CampaignConsoleCampaignImpressions implements CampaignConsoleCampaignInterface { classification: CampaignConsoleClassification! campaign: PerformanceCampaign! target: Long benchmark: Long days30: CampaignConsoleCampaignMetrics! days60: CampaignConsoleCampaignMetrics! days90: CampaignConsoleCampaignMetrics! days180: CampaignConsoleCampaignMetrics! days365: CampaignConsoleCampaignMetrics! } type CampaignConsoleCampaignMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! clickThroughRate: BigDecimal conversionRate: BigDecimal convValueCost: BigDecimal costPerClick: BigDecimal costPerConversion: BigDecimal } type CampaignConsoleConnection { total: Long offsetInfo: OffsetInfo! nodes: [CampaignConsole!]! } type CampaignConsoleStatusCompleted { scanId: ID! id: ID! completed: Instant! "The time when the data was fetched. Will be before completed if this was a rerun." dataFetched: Instant! adAccountMetricsLast30Days: CampaignConsoleAdAccountMetrics! totals: CampaignConsoleTotals! } type CampaignConsoleStatusDisabled { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type CampaignConsoleStatusInitializing { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type CampaignConsoleStatusPending { starts: Instant! } type CampaignConsoleStatusRunning { started: Instant! current: CampaignConsoleStatusCompleted! } type CampaignConsoleStatusSnoozed { until: Instant! } type CampaignConsoleSummary { totals: CampaignConsoleTotals! "total number of imported ad accounts" total: Long! } type CampaignConsoleTotals { performanceGood: Int! performanceAverage: Int! performanceBad: Int! lowData: Int! spendHigh: Int! spendAverage: Int! spendLow: Int! noClicks: Int! ignored: Int! } type CampaignFacebookBudget { bidStrategy: FacebookCampaignBidStrategy! previousBidStrategy: CampaignFacebookPreviousBidStrategy } type CampaignFacebookDistributedBudget implements CampaignInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! objective: FacebookCampaignObjective! budget: CampaignFacebookBudget! adAccount: AdAccountFacebook! } type CampaignFacebookNormal implements CampaignInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! objective: FacebookCampaignObjective! adAccount: AdAccountFacebook! } type CampaignFacebookPreviousBidStrategy { value: FacebookCampaignBidStrategy lastChanged: Instant! } type CampaignGoogle implements CampaignInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! type: CampaignGoogleType! biddingStrategyPortfolio: CampaignGoogleBiddingStrategyPortfolio biddingStrategy: CampaignGoogleBiddingStrategy previousBiddingStrategy: CampaignGooglePreviousBiddingStrategy shouldRestrictAmountIncreases: Boolean! adAccount: AdAccountGoogle! keywords: CampaignGoogleKeywords! } type CampaignGoogleBiddingStrategyCommission { rate: BigDecimal } type CampaignGoogleBiddingStrategyEnhancedCpc { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } type CampaignGoogleBiddingStrategyFixedCpm { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } type CampaignGoogleBiddingStrategyIn { "The __typename of a CampaignGoogleBiddingStrategy" type: String! enhanced: Boolean rate: BigDecimal targetCostPerSale: BigDecimal location: CampaignGoogleBiddingStrategyTargetImpressionShareLocation locationFraction: BigDecimal maxCpc: BigDecimal targetCpa: BigDecimal targetRoas: BigDecimal maxPercentCpc: BigDecimal cpcBidCeiling: BigDecimal cpcBidFloor: BigDecimal _unused: Boolean } type CampaignGoogleBiddingStrategyManualCpa { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } type CampaignGoogleBiddingStrategyManualCpc { enhanced: Boolean! } type CampaignGoogleBiddingStrategyManualCpm { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } type CampaignGoogleBiddingStrategyManualCpv { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } type CampaignGoogleBiddingStrategyMaximizeConversionValue { targetRoas: BigDecimal cpcBidCeiling: BigDecimal cpcBidFloor: BigDecimal } type CampaignGoogleBiddingStrategyMaximizeConversions { targetCpa: BigDecimal cpcBidCeiling: BigDecimal cpcBidFloor: BigDecimal } type CampaignGoogleBiddingStrategyPercentCpc { enhanced: Boolean! cpcBidCeiling: BigDecimal } type CampaignGoogleBiddingStrategyPortfolio { id: ID! name: String! } type CampaignGoogleBiddingStrategyTargetCpa { targetCpa: BigDecimal cpcBidCeiling: BigDecimal cpcBidFloor: BigDecimal } type CampaignGoogleBiddingStrategyTargetCpm { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } type CampaignGoogleBiddingStrategyTargetCpv { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } type CampaignGoogleBiddingStrategyTargetImpressionShare { location: CampaignGoogleBiddingStrategyTargetImpressionShareLocation locationFraction: BigDecimal cpcBidCeiling: BigDecimal } type CampaignGoogleBiddingStrategyTargetRoas { targetRoas: BigDecimal cpcBidCeiling: BigDecimal cpcBidFloor: BigDecimal } "Also known as Maximize Clicks" type CampaignGoogleBiddingStrategyTargetSpend { cpcBidCeiling: BigDecimal } type CampaignGoogleKeywords { "True if one or more ad groups in this campaign can have keywords added to them" canAdd: Boolean! "True if this campaign allows adding of negative keywords" canAddNegative: Boolean! negativeLists: [NegativeKeywordList!]! } type CampaignGooglePreviousBiddingStrategy { portfolioId: ID value: CampaignGoogleBiddingStrategy! lastChanged: Instant! } type CampaignGroupLinkedIn implements CampaignInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! adAccount: AdAccountLinkedIn! } type CampaignLinkedIn implements AdGroupInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! type: LinkedInCampaignType! biddingStrategy: CampaignLinkedInBiddingStrategy! previousBiddingStrategy: CampaignLinkedInPreviousBiddingStrategy group: CampaignGroupLinkedIn! } type CampaignLinkedInBiddingStrategyIn { "The __typename of a CampaignLinkedInBiddingStrategy" type: String! amount: BigDecimal enhanced: Boolean cap: BigDecimal target: BigDecimal _unused: Boolean } type CampaignLinkedInBiddingStrategyManual { amount: BigDecimal! enhanced: Boolean! } type CampaignLinkedInBiddingStrategyMaximizeClicks { cap: BigDecimal } type CampaignLinkedInBiddingStrategyMaximizeConversions { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } type CampaignLinkedInBiddingStrategyMaximizeImpressions { cap: BigDecimal } type CampaignLinkedInBiddingStrategyMaximizeLeads { cap: BigDecimal } type CampaignLinkedInBiddingStrategyMaximizeReach { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } type CampaignLinkedInBiddingStrategyMaximizeVideoViews { cap: BigDecimal } type CampaignLinkedInBiddingStrategyTargetClicks { target: BigDecimal! } type CampaignLinkedInBiddingStrategyTargetImpressions { target: BigDecimal! } type CampaignLinkedInBiddingStrategyTargetVideoViews { target: BigDecimal! } type CampaignLinkedInPreviousBiddingStrategy { value: CampaignLinkedInBiddingStrategy! lastChanged: Instant! } type CampaignMicrosoft implements CampaignInterface { platform: AdPlatform! id: ID! name: String! status: Status! statusV2: StatusV2! type: CampaignMicrosoftType! timeZone: TimeZone! biddingSchemePortfolio: CampaignMicrosoftBiddingSchemePortfolio biddingScheme: CampaignMicrosoftBiddingScheme previousBiddingScheme: CampaignMicrosoftPreviousBiddingScheme adAccount: AdAccountMicrosoft! keywords: CampaignMicrosoftKeywords! targetSettings: [MicrosoftAdsTargetSetting!]! } type CampaignMicrosoftBiddingSchemeCommission { rate: BigDecimal } type CampaignMicrosoftBiddingSchemeCostPerSale { targetCostPerSale: BigDecimal } type CampaignMicrosoftBiddingSchemeEnhancedCpc { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } type CampaignMicrosoftBiddingSchemeIn { "The __typename of a CampaignMicrosoftBiddingScheme" type: String! rate: BigDecimal targetCostPerSale: BigDecimal maxCpc: BigDecimal maxPercentCpc: BigDecimal targetCpa: BigDecimal targetRoas: BigDecimal targetAdPosition: CampaignMicrosoftBiddingSchemeTargetAdPosition targetImpressionShare: Float _unused: Boolean } type CampaignMicrosoftBiddingSchemeInheritFromParent { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } type CampaignMicrosoftBiddingSchemeManualCpa { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } type CampaignMicrosoftBiddingSchemeManualCpc { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } type CampaignMicrosoftBiddingSchemeManualCpm { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } type CampaignMicrosoftBiddingSchemeManualCpv { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _unused: Boolean } type CampaignMicrosoftBiddingSchemeMaxClicks { maxCpc: BigDecimal } type CampaignMicrosoftBiddingSchemeMaxConversionValue { targetRoas: BigDecimal } type CampaignMicrosoftBiddingSchemeMaxConversions { maxCpc: BigDecimal targetCpa: BigDecimal } type CampaignMicrosoftBiddingSchemeMaxRoas { maxCpc: BigDecimal } type CampaignMicrosoftBiddingSchemePercentCpc { maxPercentCpc: BigDecimal } type CampaignMicrosoftBiddingSchemePortfolio { id: ID! name: String! } type CampaignMicrosoftBiddingSchemeTargetCpa { maxCpc: BigDecimal targetCpa: BigDecimal } type CampaignMicrosoftBiddingSchemeTargetImpressionShare { maxCpc: BigDecimal targetAdPosition: CampaignMicrosoftBiddingSchemeTargetAdPosition targetImpressionShare: Float } type CampaignMicrosoftBiddingSchemeTargetRoas { maxCpc: BigDecimal targetRoas: BigDecimal } type CampaignMicrosoftKeywords { "True if one or more ad groups in this campaign can have keywords added to them" canAdd: Boolean! "True if this campaign allows adding of negative keywords" canAddNegative: Boolean! negativeLists: [NegativeKeywordList!]! } type CampaignMicrosoftPreviousBiddingScheme { portfolioId: ID value: CampaignMicrosoftBiddingScheme! lastChanged: Instant! } type ChangeLog { id: ID! timestamp: Instant! user: ChangeLogUser! adAccounts: [ChangeLogAdAccount!]! entry: ChangeLogEntry! } type ChangeLogAdAccount { id: ID! platform: AdPlatform! name: String! } type ChangeLogAdAccountInsightAlertSettingUpdated implements ChangeLogEntryInterface { type: ChangeLogType! dailySummaryUpdated: ChangeLogAdAccountInsightAlertSettingUpdatedDailySummaryUpdated immediateAlertCategoriesUpdated: ChangeLogAdAccountInsightAlertSettingUpdatedImmediateAlertCategoriesUpdated } type ChangeLogAdAccountInsightAlertSettingUpdatedDailySummaryUpdated { dailySummary: Boolean! previous: Boolean! } type ChangeLogAdAccountInsightAlertSettingUpdatedImmediateAlertCategoriesUpdated { immediateAlertCategories: [InsightCategory!]! previous: [InsightCategory!]! } type ChangeLogConnection { pageInfo: PageInfo! edges: [ChangeLogConnectionEdge!]! } type ChangeLogConnectionEdge { node: ChangeLog! cursor: String! } type ChangeLogEntryActionsExecuted implements ChangeLogEntryInterface { type: ChangeLogType! runId: Long! summary: [ActionSummary!]! } type ChangeLogEntryAdAccountCredentialOverridesForMutationsUpdated implements ChangeLogEntryInterface { type: ChangeLogType! system: ChangeLogEntryAdAccountCredentialOverridesForMutationsUpdatedChangeCredentialUpdated user: ChangeLogEntryAdAccountCredentialOverridesForMutationsUpdatedChangeCredentialUpdated } type ChangeLogEntryAdAccountCredentialOverridesForMutationsUpdatedChangeCredentialUpdated { credentialId: ID previous: ID } type ChangeLogEntryAdAccountInsightAlertDefinitionCreated implements ChangeLogEntryInterface { type: ChangeLogType! id: ID! name: String! selector: String alertCategories: [String!]! adAccounts: [AdAccountReference!]! targetUsers: [UserReference!]! targetContacts: [ContactReference!]! dailySummary: Boolean! } type ChangeLogEntryAdAccountInsightAlertDefinitionDeleted implements ChangeLogEntryInterface { type: ChangeLogType! id: ID! name: String! } type ChangeLogEntryAdAccountInsightAlertDefinitionUpdated implements ChangeLogEntryInterface { type: ChangeLogType! id: ID! name: String! changes: [ChangeLogEntryAdAccountInsightAlertDefinitionUpdatedChange!]! } type ChangeLogEntryAdAccountInsightAlertDefinitionUpdatedChangeAdAccountsUpdated { added: [AdAccountReference!]! removed: [AdAccountReference!]! } type ChangeLogEntryAdAccountInsightAlertDefinitionUpdatedChangeAlertCategoriesUpdated { added: [String!]! removed: [String!]! } type ChangeLogEntryAdAccountInsightAlertDefinitionUpdatedChangeDailySummaryUpdated { dailySummary: Boolean! previous: Boolean! } type ChangeLogEntryAdAccountInsightAlertDefinitionUpdatedChangeNameUpdated { name: String! previous: String! } type ChangeLogEntryAdAccountInsightAlertDefinitionUpdatedChangeSelectorUpdated { selector: String previous: String } type ChangeLogEntryAdAccountInsightAlertDefinitionUpdatedChangeTargetContactsUpdated { added: [ContactReference!]! removed: [ContactReference!]! } type ChangeLogEntryAdAccountInsightAlertDefinitionUpdatedChangeTargetUsersUpdated { added: [UserReference!]! removed: [UserReference!]! } type ChangeLogEntryAlertArchived implements ChangeLogEntryInterface { type: ChangeLogType! alertId: ID! } type ChangeLogEntryApiTokenCreated implements ChangeLogEntryInterface { type: ChangeLogType! apiTokenId: String! } type ChangeLogEntryApiTokenRevoked implements ChangeLogEntryInterface { type: ChangeLogType! apiTokenId: String! } type ChangeLogEntryBudgetAlertCreated implements ChangeLogEntryInterface { type: ChangeLogType! budgetId: ID! budgetName: String! budgetAlertId: ID! percentage: BigDecimal! } type ChangeLogEntryBudgetAlertDefinitionCreated implements ChangeLogEntryInterface { type: ChangeLogType! id: ID! name: String! check: String! selector: String budgets: [BudgetReference!]! targetUsers: [UserReference!]! } type ChangeLogEntryBudgetAlertDefinitionDeleted implements ChangeLogEntryInterface { type: ChangeLogType! id: ID! name: String! } type ChangeLogEntryBudgetAlertDefinitionUpdated implements ChangeLogEntryInterface { type: ChangeLogType! id: ID! name: String! changes: [ChangeLogEntryBudgetAlertDefinitionUpdatedChange!]! @deprecated(reason: "use `changesV2` as it better represents that there is only one change of each type") changesV2: ChangeLogEntryBudgetAlertDefinitionUpdatedChanges! } type ChangeLogEntryBudgetAlertDefinitionUpdatedChangeBudgetsUpdated { added: [BudgetReference!]! removed: [BudgetReference!]! } type ChangeLogEntryBudgetAlertDefinitionUpdatedChangeCheckDefinitionUpdated { check: String! previous: String! } type ChangeLogEntryBudgetAlertDefinitionUpdatedChangeNameUpdated { name: String! previous: String! } type ChangeLogEntryBudgetAlertDefinitionUpdatedChangeOptionsUpdated { options: BudgetAlertDefinitionOptions! previous: BudgetAlertDefinitionOptions } type ChangeLogEntryBudgetAlertDefinitionUpdatedChangeSelectorUpdated { selector: String previous: String } type ChangeLogEntryBudgetAlertDefinitionUpdatedChangeTargetContactsUpdated { added: [ContactReference!]! removed: [ContactReference!]! } type ChangeLogEntryBudgetAlertDefinitionUpdatedChangeTargetUsersUpdated { added: [UserReference!]! removed: [UserReference!]! } type ChangeLogEntryBudgetAlertDefinitionUpdatedChanges { name: ChangeLogEntryBudgetAlertDefinitionUpdatedChangeNameUpdated selector: ChangeLogEntryBudgetAlertDefinitionUpdatedChangeSelectorUpdated budgets: ChangeLogEntryBudgetAlertDefinitionUpdatedChangeBudgetsUpdated check: ChangeLogEntryBudgetAlertDefinitionUpdatedChangeCheckDefinitionUpdated options: ChangeLogEntryBudgetAlertDefinitionUpdatedChangeOptionsUpdated targetContacts: ChangeLogEntryBudgetAlertDefinitionUpdatedChangeTargetContactsUpdated targetUsers: ChangeLogEntryBudgetAlertDefinitionUpdatedChangeTargetUsersUpdated } type ChangeLogEntryBudgetAlertDeleted implements ChangeLogEntryInterface { type: ChangeLogType! budgetId: ID! budgetName: String! budgetAlertId: ID! percentage: BigDecimal! } type ChangeLogEntryBudgetCampaignBudgetLocking implements ChangeLogEntryInterface { type: ChangeLogType! budgetId: ID! lockedIdentifiers: [ID!]! unlockedIdentifiers: [ID!]! } type ChangeLogEntryBudgetCampaignBudgetRange implements ChangeLogEntryInterface { type: ChangeLogType! budgetId: ID! setRanges: [ChangeLogEntryBudgetCampaignBudgetRangeSet!]! removedIdentifiers: [ID!]! } type ChangeLogEntryBudgetCampaignBudgetRangeSet { campaignBudgetId: ID! range: BudgetCampaignBudgetRange! } type ChangeLogEntryBudgetCreatedCustom implements ChangeLogEntryInterface { type: ChangeLogType! budgetId: ID! name: String! autoAdjustEnabled: Boolean! pauseThreshold: BigDecimal suspend: Boolean pacing: BudgetPacing! reportChildAmountDiff: Boolean entries: [ChangeLogEntryBudgetCreatedCustomEntry!]! recurring: [ChangeLogEntryBudgetCreatedCustomScheduleRecurring!]! "use if `recurring` is not set" budget: BigDecimal! @deprecated(reason: "no longer set") "use if `recurring` is not set" rollOverStrategy: BudgetRollOverStrategy! @deprecated(reason: "no longer set") "use if `recurring` is not set" schedule: BudgetSchedule @deprecated(reason: "no longer set") } type ChangeLogEntryBudgetCreatedCustomEntry { budgetEntryId: ID! interval: Between! budget: BigDecimal! rollover: BigDecimal rolloverStrategy: BudgetRollOverStrategy spend: BigDecimal } type ChangeLogEntryBudgetCreatedCustomScheduleRecurring { recurringId: ID! from: LocalDate! to: LocalDate repeat: BudgetScheduleRepeat! target: BigDecimal! rolloverStrategy: BudgetRollOverStrategy! } type ChangeLogEntryBudgetCreatedGoogleAccount implements ChangeLogEntryInterface { type: ChangeLogType! budgetId: ID! name: String! autoAdjustEnabled: Boolean! pacing: BudgetPacing! } type ChangeLogEntryBudgetDeleted implements ChangeLogEntryInterface { type: ChangeLogType! budgetId: ID! name: String! } type ChangeLogEntryBudgetPerformanceCardCreated implements ChangeLogEntryInterface { type: ChangeLogType! budgetId: ID! budgetName: String! platforms: BudgetPerformanceCardAdPlatforms! metric: BudgetPerformanceCardMetric! days: Int! } type ChangeLogEntryBudgetPerformanceCardDeleted implements ChangeLogEntryInterface { type: ChangeLogType! budgetId: ID! budgetName: String! platforms: BudgetPerformanceCardAdPlatforms! metric: BudgetPerformanceCardMetric! days: Int! } type ChangeLogEntryBudgetPerformanceCardUpdated implements ChangeLogEntryInterface { type: ChangeLogType! budgetId: ID! budgetName: String! changes: ChangeLogEntryBudgetPerformanceCardUpdatedChanges! } type ChangeLogEntryBudgetPerformanceCardUpdatedChanges { platforms: ChangeLogEntryBudgetPerformanceCardUpdatedChangesAdPlatforms metric: ChangeLogEntryBudgetPerformanceCardUpdatedChangesMetric days: ChangeLogEntryBudgetPerformanceCardUpdatedChangesDays } type ChangeLogEntryBudgetPerformanceCardUpdatedChangesAdPlatforms { platforms: BudgetPerformanceCardAdPlatforms! previous: BudgetPerformanceCardAdPlatforms! } type ChangeLogEntryBudgetPerformanceCardUpdatedChangesDays { days: Int! previous: Int! } type ChangeLogEntryBudgetPerformanceCardUpdatedChangesMetric { version: BudgetPerformanceCardMetric! previous: BudgetPerformanceCardMetric! } type ChangeLogEntryBudgetTemplateCreated implements ChangeLogEntryInterface { type: ChangeLogType! id: ID! name: String! data: ChangeLogEntryBudgetTemplateCreatedData! } type ChangeLogEntryBudgetTemplateCreatedData { name: String! adjustmentVersion: BudgetAutoAdjustVersion pauseThreshold: BigDecimal notificationTargets: ChangeLogEntryBudgetTemplateCreatedDataNotificationTargets! rollOverStrategy: BudgetRollOverStrategy! pacing: BudgetPacing! repeat: BudgetScheduleRepeat! kpi: CampaignBudgetGroupKpi } type ChangeLogEntryBudgetTemplateCreatedDataNotificationTargets { contacts: [ContactReference!]! users: [UserReference!]! } type ChangeLogEntryBudgetTemplateDeleted implements ChangeLogEntryInterface { type: ChangeLogType! id: ID! name: String! } type ChangeLogEntryBudgetTemplateUpdated implements ChangeLogEntryInterface { type: ChangeLogType! id: ID! name: String! changes: ChangeLogEntryBudgetTemplateUpdatedChanges! } type ChangeLogEntryBudgetTemplateUpdatedChanges { name: String data: ChangeLogEntryBudgetTemplateUpdatedChangesData! } type ChangeLogEntryBudgetTemplateUpdatedChangesData { name: ChangeLogEntryBudgetTemplateUpdatedChangesDataName adjustmentVersion: ChangeLogEntryBudgetTemplateUpdatedChangesDataAdjustmentVersion pauseThreshold: ChangeLogEntryBudgetTemplateUpdatedChangesDataPauseThreshold notificationTargets: ChangeLogEntryBudgetTemplateUpdatedChangesDataNotificationTargets rollOverStrategy: ChangeLogEntryBudgetTemplateUpdatedChangesDataRollOverStrategy pacing: ChangeLogEntryBudgetTemplateUpdatedChangesDataPacing proRata: ChangeLogEntryBudgetTemplateUpdatedChangesDataProRata repeat: ChangeLogEntryBudgetTemplateUpdatedChangesDataRepeat selector: ChangeLogEntryBudgetTemplateUpdatedChangesDataSelector kpi: ChangeLogEntryBudgetTemplateUpdatedChangesDataKPI } type ChangeLogEntryBudgetTemplateUpdatedChangesDataAdjustmentVersion { version: BudgetAutoAdjustVersion previous: BudgetAutoAdjustVersion } type ChangeLogEntryBudgetTemplateUpdatedChangesDataKPI { kpi: CampaignBudgetGroupKpi previous: CampaignBudgetGroupKpi } type ChangeLogEntryBudgetTemplateUpdatedChangesDataName { name: String! previous: String! } type ChangeLogEntryBudgetTemplateUpdatedChangesDataNotificationTargets { contactsAdded: [ContactReference!]! contactsRemoved: [ContactReference!]! usersAdded: [UserReference!]! usersRemoved: [UserReference!]! } type ChangeLogEntryBudgetTemplateUpdatedChangesDataPacing { value: BudgetPacing! previous: BudgetPacing! } type ChangeLogEntryBudgetTemplateUpdatedChangesDataPauseThreshold { threshold: BigDecimal previous: BigDecimal } type ChangeLogEntryBudgetTemplateUpdatedChangesDataProRata { value: Boolean! previous: Boolean! } type ChangeLogEntryBudgetTemplateUpdatedChangesDataRepeat { repeat: BudgetScheduleRepeat! previous: BudgetScheduleRepeat! } type ChangeLogEntryBudgetTemplateUpdatedChangesDataRollOverStrategy { rollOverStrategy: BudgetRollOverStrategy! previous: BudgetRollOverStrategy! } type ChangeLogEntryBudgetTemplateUpdatedChangesDataSelector { value: String! previous: String! } type ChangeLogEntryBudgetUpdated implements ChangeLogEntryInterface { type: ChangeLogType! budgetId: ID! name: String! changes: [ChangeLogEntryBudgetUpdatedChange!]! entryChanges: [ChangeLogEntryBudgetUpdatedEntryChanges!]! recurringChanges: [ChangeLogEntryBudgetUpdatedRecurringChanges!]! } type ChangeLogEntryBudgetUpdatedChangeAdjustmentVersionUpdated { version: BudgetAutoAdjustVersion! previous: BudgetAutoAdjustVersion! } type ChangeLogEntryBudgetUpdatedChangeAutoAdjustUpdated { enabled: Boolean! } type ChangeLogEntryBudgetUpdatedChangeBudgetUpdated { amount: BigDecimal! previous: BigDecimal! } type ChangeLogEntryBudgetUpdatedChangeNameUpdated { name: String! previous: String! } type ChangeLogEntryBudgetUpdatedChangeNotificationTargetsUpdated { contactsAdded: Int! contactsRemoved: Int! usersAdded: Int! usersRemoved: Int! } type ChangeLogEntryBudgetUpdatedChangePauseThresholdUpdatedChanged { threshold: BigDecimal! previous: BigDecimal! } type ChangeLogEntryBudgetUpdatedChangePauseThresholdUpdatedContainer { change: ChangeLogEntryBudgetUpdatedChangePauseThresholdUpdated! } type ChangeLogEntryBudgetUpdatedChangePauseThresholdUpdatedRemoved { previous: BigDecimal! } type ChangeLogEntryBudgetUpdatedChangePauseThresholdUpdatedSet { threshold: BigDecimal! } type ChangeLogEntryBudgetUpdatedChangePauseWhenNoCurrentEntryUpdated { enabled: Boolean! } type ChangeLogEntryBudgetUpdatedChangeReportChildAmountDiffUpdated { enabled: Boolean! } type ChangeLogEntryBudgetUpdatedChangeRollOverStrategyUpdated { rollOverStrategy: BudgetRollOverStrategy! previous: BudgetRollOverStrategy! } type ChangeLogEntryBudgetUpdatedEntryChangeBudgetUpdated { amount: BigDecimal! previous: BigDecimal! } type ChangeLogEntryBudgetUpdatedEntryChangeCreated { budget: BigDecimal! @deprecated(reason: "use `target` instead") target: BigDecimal! rollover: BigDecimal spend: BigDecimal } type ChangeLogEntryBudgetUpdatedEntryChangeIntervalUpdated { interval: Between! previous: Between! } type ChangeLogEntryBudgetUpdatedEntryChangeRemoved { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type ChangeLogEntryBudgetUpdatedEntryChangeRolloverStrategyUpdated { strategy: BudgetRollOverStrategy! previous: BudgetRollOverStrategy } type ChangeLogEntryBudgetUpdatedEntryChangeRolloverUpdated { amount: BigDecimal! previous: BigDecimal } type ChangeLogEntryBudgetUpdatedEntryChangeSpendUpdated { amount: BigDecimal! previous: BigDecimal } type ChangeLogEntryBudgetUpdatedEntryChanges { budgetEntryId: ID! interval: Between! changes: [ChangeLogEntryBudgetUpdatedEntryChange!]! } type ChangeLogEntryBudgetUpdatedRecurringChangeCreated { repeat: BudgetScheduleRepeat! target: BigDecimal! rolloverStrategy: BudgetRollOverStrategy! } type ChangeLogEntryBudgetUpdatedRecurringChangeIntervalUpdated { interval: BudgetScheduleRecurringInterval! previous: BudgetScheduleRecurringInterval! } type ChangeLogEntryBudgetUpdatedRecurringChangeRemoved { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type ChangeLogEntryBudgetUpdatedRecurringChangeRepeatUpdated { repeat: BudgetScheduleRepeat! previous: BudgetScheduleRepeat! } type ChangeLogEntryBudgetUpdatedRecurringChangeRolloverStrategyUpdated { strategy: BudgetRollOverStrategy! previous: BudgetRollOverStrategy! } type ChangeLogEntryBudgetUpdatedRecurringChangeTargetUpdated { amount: BigDecimal! previous: BigDecimal! } type ChangeLogEntryBudgetUpdatedRecurringChanges { budgetScheduleRecurringId: ID! interval: BudgetScheduleRecurringInterval! changes: [ChangeLogEntryBudgetUpdatedRecurringChange!]! } type ChangeLogEntryCampaignBudgetGroupCreated implements ChangeLogEntryInterface { type: ChangeLogType! campaignBudgetGroupId: ID! name: String! selector: String kpi: CampaignBudgetGroupKpi } type ChangeLogEntryCampaignBudgetGroupDeleted implements ChangeLogEntryInterface { type: ChangeLogType! campaignBudgetGroupId: ID! name: String! } type ChangeLogEntryCampaignBudgetGroupUpdated implements ChangeLogEntryInterface { type: ChangeLogType! campaignBudgetGroupId: ID! name: String! changes: ChangeLogEntryCampaignBudgetGroupUpdatedChanges! } type ChangeLogEntryCampaignBudgetGroupUpdatedChangeKpi { kpi: CampaignBudgetGroupKpi previous: CampaignBudgetGroupKpi } type ChangeLogEntryCampaignBudgetGroupUpdatedChangeName { name: String! previous: String! } type ChangeLogEntryCampaignBudgetGroupUpdatedChangeSelector { selector: String previous: String } type ChangeLogEntryCampaignBudgetGroupUpdatedChanges { name: ChangeLogEntryCampaignBudgetGroupUpdatedChangeName selector: ChangeLogEntryCampaignBudgetGroupUpdatedChangeSelector kpi: ChangeLogEntryCampaignBudgetGroupUpdatedChangeKpi } type ChangeLogEntryCampaignGroupCreated implements ChangeLogEntryInterface { type: ChangeLogType! campaignGroupId: ID! name: String! } type ChangeLogEntryCampaignGroupDeleted implements ChangeLogEntryInterface { type: ChangeLogType! campaignGroupId: ID! name: String! } type ChangeLogEntryCampaignGroupUpdated implements ChangeLogEntryInterface { type: ChangeLogType! campaignGroupId: ID! name: String! } type ChangeLogEntryContactCreated implements ChangeLogEntryInterface { type: ChangeLogType! contactId: ID! name: String! } type ChangeLogEntryContactDeleted implements ChangeLogEntryInterface { type: ChangeLogType! contactId: ID! name: String! } type ChangeLogEntryContactUpdated implements ChangeLogEntryInterface { type: ChangeLogType! contactId: ID! name: String! changes: ChangeLogEntryContactUpdatedChanges! } type ChangeLogEntryContactUpdatedChanges { name: ChangeLogEntryContactUpdatedChangesName email: ChangeLogEntryContactUpdatedChangesEmail } type ChangeLogEntryContactUpdatedChangesEmail { email: String! previous: String! } type ChangeLogEntryContactUpdatedChangesName { name: String! previous: String! } type ChangeLogEntryCredentialCreated implements ChangeLogEntryInterface { type: ChangeLogType! credentialId: ID! } type ChangeLogEntryCredentialDeleted implements ChangeLogEntryInterface { type: ChangeLogType! credentialId: ID! } type ChangeLogEntryCredentialUpdated implements ChangeLogEntryInterface { type: ChangeLogType! credentialId: ID! } type ChangeLogEntryCredentialsReordered implements ChangeLogEntryInterface { type: ChangeLogType! } type ChangeLogEntryHubSpotAdAccountImported implements ChangeLogEntryInterface { type: ChangeLogType! hubSpotId: ID! } type ChangeLogEntryHubSpotIntegrationCreated implements ChangeLogEntryInterface { type: ChangeLogType! hubSpotId: ID! } type ChangeLogEntryHubSpotIntegrationDeleted implements ChangeLogEntryInterface { type: ChangeLogType! hubSpotId: ID! } type ChangeLogEntryMetricChangeAlertDefinitionComparison { type: String! range: Int! metric: String! operator: String! value: String! } type ChangeLogEntryMetricChangeAlertDefinitionCreated implements ChangeLogEntryInterface { type: ChangeLogType! id: ID! name: String! comparison: ChangeLogEntryMetricChangeAlertDefinitionComparison! accountSelector: String campaignSelector: String contacts: [ContactReference!]! users: [UserReference!]! } type ChangeLogEntryMetricChangeAlertDefinitionDeleted implements ChangeLogEntryInterface { type: ChangeLogType! id: ID! name: String! } type ChangeLogEntryMetricChangeAlertDefinitionUpdated implements ChangeLogEntryInterface { type: ChangeLogType! id: ID! name: String! changes: ChangeLogEntryMetricChangeAlertDefinitionUpdatedChanges! } type ChangeLogEntryMetricChangeAlertDefinitionUpdatedChangeAccountSelectorUpdated { selector: String previous: String } type ChangeLogEntryMetricChangeAlertDefinitionUpdatedChangeCampaignSelectorUpdated { selector: String previous: String } type ChangeLogEntryMetricChangeAlertDefinitionUpdatedChangeComparisonUpdated { comparison: ChangeLogEntryMetricChangeAlertDefinitionComparison! previous: ChangeLogEntryMetricChangeAlertDefinitionComparison! } type ChangeLogEntryMetricChangeAlertDefinitionUpdatedChangeContactsUpdated { added: [ContactReference!]! removed: [ContactReference!]! } type ChangeLogEntryMetricChangeAlertDefinitionUpdatedChangeNameUpdated { name: String! previous: String! } type ChangeLogEntryMetricChangeAlertDefinitionUpdatedChangeUsersUpdated { added: [UserReference!]! removed: [UserReference!]! } type ChangeLogEntryMetricChangeAlertDefinitionUpdatedChanges { name: ChangeLogEntryMetricChangeAlertDefinitionUpdatedChangeNameUpdated comparison: ChangeLogEntryMetricChangeAlertDefinitionUpdatedChangeComparisonUpdated accountSelector: ChangeLogEntryMetricChangeAlertDefinitionUpdatedChangeAccountSelectorUpdated campaignSelector: ChangeLogEntryMetricChangeAlertDefinitionUpdatedChangeCampaignSelectorUpdated contacts: ChangeLogEntryMetricChangeAlertDefinitionUpdatedChangeContactsUpdated users: ChangeLogEntryMetricChangeAlertDefinitionUpdatedChangeUsersUpdated } type ChangeLogEntryMicrosoftAdsCustomerSignedUp implements ChangeLogEntryInterface { type: ChangeLogType! id: ID! number: String! name: String! accountId: Long! accountNumber: String! manager: ID! handedOver: Boolean! } type ChangeLogEntryNoteCreated implements ChangeLogEntryInterface { type: ChangeLogType! id: ID! note: String! timestamp: Instant! } type ChangeLogEntryNoteDeleted implements ChangeLogEntryInterface { type: ChangeLogType! id: ID! note: String! timestamp: Instant! } type ChangeLogEntryNoteUpdated implements ChangeLogEntryInterface { type: ChangeLogType! id: ID! changes: ChangeLogEntryNoteUpdatedChanges! } type ChangeLogEntryNoteUpdatedChanges { content: ChangeLogEntryNoteUpdatedChangesContentUpdated timestamp: ChangeLogEntryNoteUpdatedChangesTimestampUpdated } type ChangeLogEntryNoteUpdatedChangesContentUpdated { content: String! previous: String! } type ChangeLogEntryNoteUpdatedChangesTimestampUpdated { timestamp: Instant! previous: Instant! } type ChangeLogEntryOrganizationUpdated implements ChangeLogEntryInterface { type: ChangeLogType! changes: ChangeLogEntryOrganizationUpdatedChanges! } type ChangeLogEntryOrganizationUpdatedChanges { microsoftAdsCouponsOptOut: ChangeLogEntryOrganizationUpdatedChangesMicrosoftAdsCouponsOptOut } type ChangeLogEntryOrganizationUpdatedChangesMicrosoftAdsCouponsOptOut { value: Boolean! previous: Boolean! } type ChangeLogEntryScanConfigurationUpdated implements ChangeLogEntryInterface { type: ChangeLogType! scanDefinitionType: String! changes: [ChangeLogEntryScanConfigurationUpdatedChange!]! } type ChangeLogEntryScanConfigurationUpdatedAccountNotServing implements ChangeLogEntryInterface { type: ChangeLogType! categoryOverrides: ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange disableAdAccounts: [ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange!]! } type ChangeLogEntryScanConfigurationUpdatedAdAccountSelectionChange { selector: ChangeLogEntryScanConfigurationUpdatedAdAccountSelectionChangeSelector tags: ChangeLogEntryScanConfigurationUpdatedAdAccountSelectionChangeTag } type ChangeLogEntryScanConfigurationUpdatedAdAccountSelectionChangeSelector { value: String previous: String } type ChangeLogEntryScanConfigurationUpdatedAdAccountSelectionChangeTag { value: [[ID!]!] previous: [[ID!]!] } type ChangeLogEntryScanConfigurationUpdatedAdGroupMetrics implements ChangeLogEntryInterface { type: ChangeLogType! categoryOverrides: ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange disableAdAccounts: [ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange!]! pauseAdGroups: [ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange!]! } type ChangeLogEntryScanConfigurationUpdatedAdPlatformLimits implements ChangeLogEntryInterface { type: ChangeLogType! categoryOverrides: ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange disableAdAccounts: [ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange!]! warnPercent: ChangeLogEntryScanConfigurationUpdatedAdPlatformLimitsWarnPercentChange } type ChangeLogEntryScanConfigurationUpdatedAdPlatformLimitsWarnPercentChange { value: BigDecimal previous: BigDecimal } type ChangeLogEntryScanConfigurationUpdatedAssetGroupPerformance implements ChangeLogEntryInterface { type: ChangeLogType! categoryOverrides: ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange } type ChangeLogEntryScanConfigurationUpdatedAutomaticallyGeneratedAssets implements ChangeLogEntryInterface { type: ChangeLogType! categoryOverrides: ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange disableAdAccounts: [ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange!]! pauseAssets: [ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange!]! removeAssets: [ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange!]! } type ChangeLogEntryScanConfigurationUpdatedBrandCampaignImpressionShare implements ChangeLogEntryInterface { type: ChangeLogType! categoryOverrides: ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange disableAdAccounts: [ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange!]! campaignIdentifiers: ChangeLogEntryScanConfigurationUpdatedBrandCampaignImpressionShareCampaignIdentifiersChange } type ChangeLogEntryScanConfigurationUpdatedBrandCampaignImpressionShareCampaignIdentifiersChange { value: [ID!] previous: [ID!] } type ChangeLogEntryScanConfigurationUpdatedBudgetAllocationRecommendation implements ChangeLogEntryInterface { type: ChangeLogType! categoryOverrides: ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange } type ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange { value: [ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChangeSubTypeCategory!]! previous: [ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChangeSubTypeCategory!]! } type ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChangeSubTypeCategory { subType: String! category: InsightCategory! } type ChangeLogEntryScanConfigurationUpdatedChangeAccountConversion implements ChangeLogEntryInterface { type: ChangeLogType! categoryOverrides: ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange disableAdAccounts: [ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange!]! lookBackDays: ChangeLogEntryScanConfigurationUpdatedChangeAccountConversionLookBackDays noConversionDaysFactor: ChangeLogEntryScanConfigurationUpdatedChangeAccountConversionNoConversionDaysFactor filter: ChangeLogEntryScanConfigurationUpdatedChangeAccountConversionFilter tags: ChangeLogEntryScanConfigurationUpdatedChangeAdAccountTagChange } type ChangeLogEntryScanConfigurationUpdatedChangeAccountConversionFilter { value: String previous: String } type ChangeLogEntryScanConfigurationUpdatedChangeAccountConversionLookBackDays { value: Int previous: Int } type ChangeLogEntryScanConfigurationUpdatedChangeAccountConversionNoConversionDaysFactor { value: Float previous: Float } type ChangeLogEntryScanConfigurationUpdatedChangeAdAccountTagChange { include: ChangeLogEntryScanConfigurationUpdatedChangeAdAccountTagChangeInclude exclude: ChangeLogEntryScanConfigurationUpdatedChangeAdAccountTagChangeExclude } type ChangeLogEntryScanConfigurationUpdatedChangeAdAccountTagChangeExclude { value: [[ID!]!] previous: [[ID!]!] } type ChangeLogEntryScanConfigurationUpdatedChangeAdAccountTagChangeInclude { value: [[ID!]!] previous: [[ID!]!] } type ChangeLogEntryScanConfigurationUpdatedChangeAudienceManager implements ChangeLogEntryInterface { type: ChangeLogType! categoryOverrides: ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange disableAdAccounts: [ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange!]! } type ChangeLogEntryScanConfigurationUpdatedChangeCampaignAudienceExists implements ChangeLogEntryInterface { type: ChangeLogType! categoryOverrides: ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange disableAdAccounts: [ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange!]! tags: ChangeLogEntryScanConfigurationUpdatedChangeAdAccountTagChange } type ChangeLogEntryScanConfigurationUpdatedChangeNoRecentChanges implements ChangeLogEntryInterface { type: ChangeLogType! categoryOverrides: ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange disableAdAccounts: [ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange!]! lookBackDays: ChangeLogEntryScanConfigurationUpdatedChangeNoRecentChangesLookBackDays } type ChangeLogEntryScanConfigurationUpdatedChangeNoRecentChangesLookBackDays { value: Int! previous: Int! } type ChangeLogEntryScanConfigurationUpdatedCloseVariants implements ChangeLogEntryInterface { type: ChangeLogType! categoryOverrides: ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange } type ChangeLogEntryScanConfigurationUpdatedDisapprovedAds implements ChangeLogEntryInterface { type: ChangeLogType! categoryOverrides: ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange disableAdAccounts: [ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange!]! } type ChangeLogEntryScanConfigurationUpdatedKeywordConflicts implements ChangeLogEntryInterface { type: ChangeLogType! categoryOverrides: ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange disableAdAccounts: [ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange!]! } type ChangeLogEntryScanConfigurationUpdatedKeywordPerformance implements ChangeLogEntryInterface { type: ChangeLogType! categoryOverrides: ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange } type ChangeLogEntryScanConfigurationUpdatedLinkCheck implements ChangeLogEntryInterface { type: ChangeLogType! categoryOverrides: ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange disableAdAccounts: [ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange!]! } type ChangeLogEntryScanConfigurationUpdatedLinkedInCampaignPlacements implements ChangeLogEntryInterface { type: ChangeLogType! categoryOverrides: ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange disableAdAccounts: [ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange!]! removePlacement: [ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange!]! } type ChangeLogEntryScanConfigurationUpdatedLocationTarget implements ChangeLogEntryInterface { type: ChangeLogType! categoryOverrides: ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange disableAdAccounts: [ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange!]! removeInterestIn: ChangeLogEntryScanConfigurationUpdatedAdAccountSelectionChange } type ChangeLogEntryScanConfigurationUpdatedMicrosoftConnection implements ChangeLogEntryInterface { type: ChangeLogType! categoryOverrides: ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange } type ChangeLogEntryScanConfigurationUpdatedMicrosoftShoppingDynamicRemarketing implements ChangeLogEntryInterface { type: ChangeLogType! categoryOverrides: ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange disableAdAccounts: [ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange!]! } type ChangeLogEntryScanConfigurationUpdatedNegativeKeywordConflicts implements ChangeLogEntryInterface { type: ChangeLogType! categoryOverrides: ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange disableAdAccounts: [ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange!]! } type ChangeLogEntryScanConfigurationUpdatedPlatformRecommendations implements ChangeLogEntryInterface { type: ChangeLogType! categoryOverrides: ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange disableAdAccounts: [ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange!]! dismissAll: ChangeLogEntryScanConfigurationUpdatedAdAccountSelectionChange } type ChangeLogEntryScanConfigurationUpdatedProductPerformance implements ChangeLogEntryInterface { type: ChangeLogType! categoryOverrides: ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange } type ChangeLogEntryScanConfigurationUpdatedSearchCampaignWithDisplay implements ChangeLogEntryInterface { type: ChangeLogType! categoryOverrides: ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange disableAdAccounts: [ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange!]! removeNetwork: [ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange!]! removeDisplayNetwork: ChangeLogEntryScanConfigurationUpdatedAdAccountSelectionChange @deprecated(reason: "now part of `removeNetwork`") } type ChangeLogEntryScanConfigurationUpdatedSearchTermPerformance implements ChangeLogEntryInterface { type: ChangeLogType! categoryOverrides: ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange } type ChangeLogEntryScanConfigurationUpdatedSiteLink implements ChangeLogEntryInterface { type: ChangeLogType! categoryOverrides: ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange disableAdAccounts: [ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange!]! pauseSiteLinks: [ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange!]! removeSiteLinks: [ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange!]! } type ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange { subType: String! selection: ChangeLogEntryScanConfigurationUpdatedAdAccountSelectionChange! } type ChangeLogEntryScanConfigurationUpdatedThirdPartyChanges implements ChangeLogEntryInterface { type: ChangeLogType! categoryOverrides: ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange disableAdAccounts: [ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange!]! } type ChangeLogEntryScanConfigurationUpdatedUnexpectedSpendInLocations implements ChangeLogEntryInterface { type: ChangeLogType! categoryOverrides: ChangeLogEntryScanConfigurationUpdatedCategoryOverridesChange disableAdAccounts: [ChangeLogEntryScanConfigurationUpdatedSubTypeAdAccountSelectionChange!]! } type ChangeLogEntryTagCreated implements ChangeLogEntryInterface { type: ChangeLogType! tagId: ID! name: String! } type ChangeLogEntryTagDeleted implements ChangeLogEntryInterface { type: ChangeLogType! tagId: ID! name: String! } type ChangeLogEntryTagUpdated implements ChangeLogEntryInterface { type: ChangeLogType! tagId: ID! name: String! changes: ChangeLogEntryTagUpdatedChanges! } type ChangeLogEntryTagUpdatedChangeColor { color: String! previous: String! } type ChangeLogEntryTagUpdatedChangeDescription { description: String previous: String } type ChangeLogEntryTagUpdatedChangeName { name: String! previous: String! } type ChangeLogEntryTagUpdatedChanges { name: ChangeLogEntryTagUpdatedChangeName description: ChangeLogEntryTagUpdatedChangeDescription color: ChangeLogEntryTagUpdatedChangeColor } type ChangeLogEntryUserInvitationCreated implements ChangeLogEntryInterface { type: ChangeLogType! email: String! } type ChangeLogEntryUserInvitationResent implements ChangeLogEntryInterface { type: ChangeLogType! email: String! } type ChangeLogEntryUserInvitationRevoked implements ChangeLogEntryInterface { type: ChangeLogType! email: String! } type ChangeLogEntryUserReferencesReplaced implements ChangeLogEntryInterface { type: ChangeLogType! user: UserReference! replaced: UserReference! } type ChangeLogUser { id: ID! name: String! email: String! } type Client { id: ID! name: String! allSelectedBudgetId: ID adAccounts: [AdAccount!]! budgets__new: [Budget__new!]! } type ClientConnection { total: Long offsetInfo: OffsetInfo! nodes: [Client!]! } type Contact { id: ID! name: String! email: String! } type ContactConnection { total: Long offsetInfo: OffsetInfo! nodes: [Contact!]! } type ContactReference { id: ID! email: String! } type CredentialSyncRunStatusFailure { started: Instant! completed: Instant! } type CredentialSyncRunStatusPending { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type CredentialSyncRunStatusRunning { started: Instant! } type CredentialSyncRunStatusSuccess { started: Instant! completed: Instant! } type Currency { amount: BigDecimal! code: CurrencyCode! } type DeviceConsole { adAccount: AdAccount! status: DeviceConsoleStatus! } type DeviceConsoleCampaignClickThroughRate { id: ID! identifier: Long! name: String! status: DeviceConsoleCampaignStatus! "Whether any valid device adjustment is accepted otherwise exclusions/inclusions only." allowsAnyDeviceBidAdjustment: Boolean! "Indicates that an action that adjusts a device bid modifier, modifies the campaign target CPA instead." deviceAdjustmentAdjustsCpa: Boolean! target: BigDecimal benchmark: BigDecimal metrics: DeviceConsoleCampaignMetrics! clickThroughRate: BigDecimal clickThroughRatePercentage: BigDecimal campaign: PerformanceCampaign! } type DeviceConsoleCampaignConvValueCost { id: ID! identifier: Long! name: String! status: DeviceConsoleCampaignStatus! "Whether any valid device adjustment is accepted otherwise exclusions/inclusions only." allowsAnyDeviceBidAdjustment: Boolean! "Indicates that an action that adjusts a device bid modifier, modifies the campaign target CPA instead." deviceAdjustmentAdjustsCpa: Boolean! target: BigDecimal benchmark: BigDecimal metrics: DeviceConsoleCampaignMetrics! convValueCost: BigDecimal convValueCostPercentage: BigDecimal costPerConversion: BigDecimal campaign: PerformanceCampaign! } type DeviceConsoleCampaignCostPerConversion { id: ID! identifier: Long! name: String! status: DeviceConsoleCampaignStatus! "Whether any valid device adjustment is accepted otherwise exclusions/inclusions only." allowsAnyDeviceBidAdjustment: Boolean! "Indicates that an action that adjusts a device bid modifier, modifies the campaign target CPA instead." deviceAdjustmentAdjustsCpa: Boolean! target: BigDecimal benchmark: BigDecimal metrics: DeviceConsoleCampaignMetrics! costPerConversion: BigDecimal costPerConversionPercentage: BigDecimal campaign: PerformanceCampaign! } type DeviceConsoleCampaignDeviceBidAdjustmentGoogle { identifier: String! value: BigDecimal! } type DeviceConsoleCampaignDeviceBidAdjustmentMicrosoftFixed { identifier: String! amount: Float! } type DeviceConsoleCampaignDeviceBidAdjustmentMicrosoftMultiplier { identifier: String! value: BigDecimal! } type DeviceConsoleCampaignDeviceClickThroughRate implements DeviceConsoleCampaignDeviceInterface { classification: DeviceConsoleClassification! campaign: DeviceConsoleCampaignClickThroughRate! device: DeviceConsoleCampaignDeviceDevice! deviceType: DeviceType! days30: DeviceConsoleCampaignDeviceMetrics! days60: DeviceConsoleCampaignDeviceMetrics! days90: DeviceConsoleCampaignDeviceMetrics! days180: DeviceConsoleCampaignDeviceMetrics! days365: DeviceConsoleCampaignDeviceMetrics! currentBidAdjustment: DeviceConsoleCampaignDeviceBidAdjustment previousBidAdjustment: DeviceConsoleCampaignDevicePreviousBidAdjustment } type DeviceConsoleCampaignDeviceConnection { total: Long offsetInfo: OffsetInfo! nodes: [DeviceConsoleCampaignDevice!]! } type DeviceConsoleCampaignDeviceConvValueCost implements DeviceConsoleCampaignDeviceInterface { classification: DeviceConsoleClassification! campaign: DeviceConsoleCampaignConvValueCost! device: DeviceConsoleCampaignDeviceDevice! deviceType: DeviceType! days30: DeviceConsoleCampaignDeviceMetrics! days60: DeviceConsoleCampaignDeviceMetrics! days90: DeviceConsoleCampaignDeviceMetrics! days180: DeviceConsoleCampaignDeviceMetrics! days365: DeviceConsoleCampaignDeviceMetrics! currentBidAdjustment: DeviceConsoleCampaignDeviceBidAdjustment previousBidAdjustment: DeviceConsoleCampaignDevicePreviousBidAdjustment } type DeviceConsoleCampaignDeviceCostPerConversion implements DeviceConsoleCampaignDeviceInterface { classification: DeviceConsoleClassification! campaign: DeviceConsoleCampaignCostPerConversion! device: DeviceConsoleCampaignDeviceDevice! deviceType: DeviceType! days30: DeviceConsoleCampaignDeviceMetrics! days60: DeviceConsoleCampaignDeviceMetrics! days90: DeviceConsoleCampaignDeviceMetrics! days180: DeviceConsoleCampaignDeviceMetrics! days365: DeviceConsoleCampaignDeviceMetrics! currentBidAdjustment: DeviceConsoleCampaignDeviceBidAdjustment previousBidAdjustment: DeviceConsoleCampaignDevicePreviousBidAdjustment } type DeviceConsoleCampaignDeviceImpressions implements DeviceConsoleCampaignDeviceInterface { classification: DeviceConsoleClassification! campaign: DeviceConsoleCampaignImpressions! device: DeviceConsoleCampaignDeviceDevice! deviceType: DeviceType! days30: DeviceConsoleCampaignDeviceMetrics! days60: DeviceConsoleCampaignDeviceMetrics! days90: DeviceConsoleCampaignDeviceMetrics! days180: DeviceConsoleCampaignDeviceMetrics! days365: DeviceConsoleCampaignDeviceMetrics! currentBidAdjustment: DeviceConsoleCampaignDeviceBidAdjustment previousBidAdjustment: DeviceConsoleCampaignDevicePreviousBidAdjustment } type DeviceConsoleCampaignDeviceMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! clickThroughRate: BigDecimal conversionRate: BigDecimal convValueCost: BigDecimal costPerClick: BigDecimal costPerConversion: BigDecimal } type DeviceConsoleCampaignDevicePreviousBidAdjustmentGoogle { value: BigDecimal lastChanged: Instant! } type DeviceConsoleCampaignDevicePreviousBidAdjustmentMicrosoftFixedValue { amount: Float! lastChanged: Instant! } type DeviceConsoleCampaignDevicePreviousBidAdjustmentMicrosoftMultiplier { value: BigDecimal! lastChanged: Instant! } type DeviceConsoleCampaignImpressions { id: ID! identifier: Long! name: String! status: DeviceConsoleCampaignStatus! "Whether any valid device adjustment is accepted otherwise exclusions/inclusions only." allowsAnyDeviceBidAdjustment: Boolean! "Indicates that an action that adjusts a device bid modifier, modifies the campaign target CPA instead." deviceAdjustmentAdjustsCpa: Boolean! target: Long benchmark: Long metrics: DeviceConsoleCampaignMetrics! impressions: Long impressionsPercentage: BigDecimal campaign: PerformanceCampaign! } type DeviceConsoleCampaignMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! } type DeviceConsoleConnection { total: Long offsetInfo: OffsetInfo! nodes: [DeviceConsole!]! } type DeviceConsoleStatusCompleted { scanId: ID! id: ID! completed: Instant! "The time when the data was fetched. Will be before completed if this was a rerun." dataFetched: Instant! totals: DeviceConsoleTotals! } type DeviceConsoleStatusDisabled { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type DeviceConsoleStatusInitializing { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type DeviceConsoleStatusPending { starts: Instant! } type DeviceConsoleStatusRunning { started: Instant! current: DeviceConsoleStatusCompleted! } type DeviceConsoleStatusSnoozed { until: Instant! } type DeviceConsoleSummary { totals: DeviceConsoleTotals! "total number of imported ad accounts" total: Long! } type DeviceConsoleTotals { performanceGood: Int! performanceAverage: Int! performanceBad: Int! lowData: Int! spendHigh: Int! spendAverage: Int! spendLow: Int! noClicks: Int! ignored: Int! } type Export { url: String! } type GoogleAdsTargetingSetting { dimension: GoogleAdsTargetingSettingDimension! bidOnly: Boolean! } type HubSpotIntegration { hubSpotAccountId: ID! hubSpotUser: String! hubSpotDomain: String! createdAt: Instant! invalid: Instant setupError: HubSpotIntegrationSetupError user: User } type HubSpotIntegrationSetupError { propertyGroupMissing: Boolean! propertiesMissing: [String!]! } type InsightAccountAdGroupsNoActiveComponents implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! total: Long! adGroups: [InsightAccountAdGroupsNoActiveComponentsResult!]! } type InsightAccountAdGroupsNoActiveComponentsAdGroup { id: ID! name: String! } type InsightAccountAdGroupsNoActiveComponentsCampaign { id: ID! name: String! } type InsightAccountAdGroupsNoActiveComponentsResult { campaign: InsightAccountAdGroupsNoActiveComponentsCampaign! adGroup: InsightAccountAdGroupsNoActiveComponentsAdGroup! issues: [InsightAccountAdGroupsNoActiveComponentsIssue!]! } type InsightAccountCampaignsNoImpressions implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! total: Long! campaigns: [InsightAccountCampaignsNoImpressionsCampaign!]! } type InsightAccountCampaignsNoImpressionsCampaign { id: ID! name: String! date: LocalDate! counts: InsightAccountCampaignsNoImpressionsCampaignCounts! } type InsightAccountCampaignsNoImpressionsCampaignCounts { adGroups: Long! ads: Long! keywords: Long! } type InsightAccountImpressionsMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! } type InsightAccountNoConversions implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! total: Long! conversions: [InsightAccountNoConversionsConversion!]! } type InsightAccountNoConversionsAll implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! } type InsightAccountNoConversionsConversion { identifier: Long! name: String! type: String! } type InsightAccountNoConversionsDailyMetrics { date: LocalDate! metrics: InsightAccountNoConversionsMetrics! } type InsightAccountNoConversionsMetrics { conversions: Float! conversionsValue: Float! } type InsightAccountNoConversionsSecondary implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! total: Long! conversions: [InsightAccountNoConversionsConversion!]! } type InsightAccountNoImpressions implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! date: LocalDate! } type InsightAccountNoImpressionsDailyMetrics { date: LocalDate! metrics: InsightAccountImpressionsMetrics! } type InsightAdAccountSummary { numInsights: Long! numCriticalInsights: Long! numImportantInsights: Long! numFoundationInsights: Long! numOpportunityInsights: Long! numWastedSpendInsights: Long! spendUsd: BigDecimal! wastedSpendUsd: InsightWastedSpend! @deprecated(reason: "made up number") "total number of imported ad accounts" total: Long! } type InsightAdPlatformLimitsWarn implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! total: Long! } type InsightAssetGroupsIssues implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! assetGroupConsoleId: ID! total: Long! } type InsightAudienceManagerAdGroupNoAudience implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! audienceManagerId: ID! total: Long! } type InsightAudienceManagerCampaignNoAudience implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! audienceManagerId: ID! total: Long! } type InsightAutomaticallyGeneratedAssetsAdImages implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! total: Long! } type InsightAutomaticallyGeneratedAssetsAdLongerHeadlines implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! total: Long! } type InsightAutomaticallyGeneratedAssetsBusinessLogos implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! total: Long! } type InsightAutomaticallyGeneratedAssetsBusinessNames implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! total: Long! } type InsightAutomaticallyGeneratedAssetsCallouts implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! total: Long! } type InsightAutomaticallyGeneratedAssetsStructuredSnippets implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! total: Long! } type InsightBrandCampaignISBudget implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! total: Long! campaigns: [InsightBrandCampaignISCampaign!]! } type InsightBrandCampaignISCampaign { id: ID! name: String! metrics: InsightBrandCampaignISCampaignMetrics! } type InsightBrandCampaignISCampaignMetrics { impressions: Long! impressionShareLost: BigDecimal! } type InsightBrandCampaignISRank implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! total: Long! campaigns: [InsightBrandCampaignISCampaign!]! } type InsightBudgetAllocationRecommendation implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! budget: Budget__new! recommendationId: ID! campaignBudgets: [InsightBudgetAllocationRecommendationCampaignBudget!]! } type InsightBudgetAllocationRecommendationCampaignBudget { adAccountId: AdAccountId! id: ID! name: String! current: BigDecimal! recommended: BigDecimal! variance: BigDecimal! currencyCode: CurrencyCode! } type InsightCategoryCounts { types: [AlertCategoryCountsCategory!]! } type InsightCloseVariantsGood implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! closeVariantConsoleId: ID! total: Long! } type InsightCloseVariantsHighSpend implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! closeVariantConsoleId: ID! total: Long! } type InsightCloseVariantsPoor implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! closeVariantConsoleId: ID! total: Long! } type InsightConnection { total: Long offsetInfo: OffsetInfo! nodes: [Insight!]! } type InsightDetailedAccountAdGroupsNoActiveComponents implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount adGroups("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightDetailedAccountAdGroupsNoActiveComponentsAdGroupConnection } type InsightDetailedAccountAdGroupsNoActiveComponentsAdGroupConnection { total: Long offsetInfo: OffsetInfo! nodes: [InsightAccountAdGroupsNoActiveComponentsResult!]! } type InsightDetailedAccountCampaignsNoImpressions implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount campaigns("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightDetailedAccountCampaignsNoImpressionsCampaignConnection } type InsightDetailedAccountCampaignsNoImpressionsCampaign { id: ID! name: String! date: LocalDate! counts: InsightDetailedAccountCampaignsNoImpressionsCampaignCounts! metrics: [InsightAccountNoImpressionsDailyMetrics!]! } type InsightDetailedAccountCampaignsNoImpressionsCampaignConnection { total: Long offsetInfo: OffsetInfo! nodes: [InsightDetailedAccountCampaignsNoImpressionsCampaign!]! } type InsightDetailedAccountCampaignsNoImpressionsCampaignCounts { adGroups: Long! ads: Long! keywords: Long! } type InsightDetailedAccountNoConversions implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount conversions("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightDetailedAccountNoConversionsConversionConnection conversionsRange: Between! } type InsightDetailedAccountNoConversionsAll implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount conversionsMetrics: [InsightAccountNoConversionsDailyMetrics!] conversionsRange: Between! } type InsightDetailedAccountNoConversionsConversion { identifier: Long! name: String! type: String! metrics: [InsightAccountNoConversionsDailyMetrics!]! } type InsightDetailedAccountNoConversionsConversionConnection { total: Long offsetInfo: OffsetInfo! nodes: [InsightDetailedAccountNoConversionsConversion!]! } type InsightDetailedAccountNoConversionsSecondary implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount conversions("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightDetailedAccountNoConversionsConversionConnection conversionsRange: Between! } type InsightDetailedAccountNoImpressions implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount date: LocalDate! dailyMetrics: [InsightAccountNoImpressionsDailyMetrics!] } type InsightDetailedAdPlatformLimitsWarn implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount items("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightDetailedAdPlatformLimitsWarnConnection } type InsightDetailedAdPlatformLimitsWarnConnection { total: Long offsetInfo: OffsetInfo! nodes: [InsightDetailedAdPlatformLimitsWarnItem!]! } type InsightDetailedAdPlatformLimitsWarnItemAccountListNegativeKeywords implements InsightDetailedAdPlatformLimitsWarnItemInterface { list: NegativeKeywordList! current: Int! limit: Int! } type InsightDetailedAdPlatformLimitsWarnItemAdGroupCriterion implements InsightDetailedAdPlatformLimitsWarnItemInterface { adGroup: AdGroup! current: Int! limit: Int! } type InsightDetailedAdPlatformLimitsWarnItemAdGroupKeywords implements InsightDetailedAdPlatformLimitsWarnItemInterface { adGroup: AdGroup! current: Int! limit: Int! } type InsightDetailedAdPlatformLimitsWarnItemAdGroupNegativeKeywords implements InsightDetailedAdPlatformLimitsWarnItemInterface { adGroup: AdGroup! current: Int! limit: Int! } type InsightDetailedAdPlatformLimitsWarnItemAdGroupPlacementExclusions implements InsightDetailedAdPlatformLimitsWarnItemInterface { adGroup: AdGroup! current: Int! limit: Int! } type InsightDetailedAdPlatformLimitsWarnItemCampaignListNegativeKeywords implements InsightDetailedAdPlatformLimitsWarnItemInterface { list: NegativeKeywordList! current: Int! limit: Int! } type InsightDetailedAdPlatformLimitsWarnItemCampaignNegativeKeywords implements InsightDetailedAdPlatformLimitsWarnItemInterface { campaign: Campaign! current: Int! limit: Int! } type InsightDetailedAdPlatformLimitsWarnItemCampaignPlacementExclusions implements InsightDetailedAdPlatformLimitsWarnItemInterface { campaign: Campaign! current: Int! limit: Int! } type InsightDetailedAdPlatformLimitsWarnItemPlacementExclusionListItems implements InsightDetailedAdPlatformLimitsWarnItemInterface { current: Int! limit: Int! } type InsightDetailedAutomaticallyGeneratedAssetsAdImages implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount assets("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightDetailedAutomaticallyGeneratedAssetsAdImagesConnection } type InsightDetailedAutomaticallyGeneratedAssetsAdImagesConnection { total: Long offsetInfo: OffsetInfo! nodes: [InsightDetailedAutomaticallyGeneratedAssetsAdImagesConnectionNode!]! } type InsightDetailedAutomaticallyGeneratedAssetsAdImagesConnectionNode { id: ID! level: InsightDetailedAutomaticallyGeneratedAssetsLevel! type: String! url: String } type InsightDetailedAutomaticallyGeneratedAssetsAdLongerHeadlines implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount assets("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightDetailedAutomaticallyGeneratedAssetsAdLongerHeadlinesConnection } type InsightDetailedAutomaticallyGeneratedAssetsAdLongerHeadlinesConnection { total: Long offsetInfo: OffsetInfo! nodes: [InsightDetailedAutomaticallyGeneratedAssetsAdLongerHeadlinesConnectionNode!]! } type InsightDetailedAutomaticallyGeneratedAssetsAdLongerHeadlinesConnectionNode { id: ID! level: InsightDetailedAutomaticallyGeneratedAssetsLevel! type: String! text: String } type InsightDetailedAutomaticallyGeneratedAssetsBusinessLogos implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount assets("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightDetailedAutomaticallyGeneratedAssetsBusinessLogosConnection } type InsightDetailedAutomaticallyGeneratedAssetsBusinessLogosConnection { total: Long offsetInfo: OffsetInfo! nodes: [InsightDetailedAutomaticallyGeneratedAssetsBusinessLogosConnectionNode!]! } type InsightDetailedAutomaticallyGeneratedAssetsBusinessLogosConnectionNode { id: ID! level: InsightDetailedAutomaticallyGeneratedAssetsLevel! type: String! url: String } type InsightDetailedAutomaticallyGeneratedAssetsBusinessNames implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount assets("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightDetailedAutomaticallyGeneratedAssetsBusinessNamesConnection } type InsightDetailedAutomaticallyGeneratedAssetsBusinessNamesConnection { total: Long offsetInfo: OffsetInfo! nodes: [InsightDetailedAutomaticallyGeneratedAssetsBusinessNamesConnectionNode!]! } type InsightDetailedAutomaticallyGeneratedAssetsBusinessNamesConnectionNode { id: ID! level: InsightDetailedAutomaticallyGeneratedAssetsLevel! type: String! name: String } type InsightDetailedAutomaticallyGeneratedAssetsCallouts implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount assets("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightDetailedAutomaticallyGeneratedAssetsCalloutsConnection } type InsightDetailedAutomaticallyGeneratedAssetsCalloutsConnection { total: Long offsetInfo: OffsetInfo! nodes: [InsightDetailedAutomaticallyGeneratedAssetsCalloutsConnectionNode!]! } type InsightDetailedAutomaticallyGeneratedAssetsCalloutsConnectionNode { id: ID! level: InsightDetailedAutomaticallyGeneratedAssetsLevel! type: String! text: String! } type InsightDetailedAutomaticallyGeneratedAssetsLevelAdAccount { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type InsightDetailedAutomaticallyGeneratedAssetsLevelAdGroup { adGroup: AdGroup! } type InsightDetailedAutomaticallyGeneratedAssetsLevelCampaign { campaign: Campaign! } type InsightDetailedAutomaticallyGeneratedAssetsStructuredSnippets implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount assets("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightDetailedAutomaticallyGeneratedAssetsStructuredSnippetsConnection } type InsightDetailedAutomaticallyGeneratedAssetsStructuredSnippetsConnection { total: Long offsetInfo: OffsetInfo! nodes: [InsightDetailedAutomaticallyGeneratedAssetsStructuredSnippetsConnectionNode!]! } type InsightDetailedAutomaticallyGeneratedAssetsStructuredSnippetsConnectionNode { id: ID! level: InsightDetailedAutomaticallyGeneratedAssetsLevel! type: String! header: String! values: [String!]! } type InsightDetailedBrandCampaignISBudget implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount campaigns("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightDetailedBrandCampaignISCampaignConnection } type InsightDetailedBrandCampaignISCampaign { id: ID! name: String! metrics: [InsightDetailedBrandCampaignISCampaignDailyMetrics!]! } type InsightDetailedBrandCampaignISCampaignConnection { total: Long offsetInfo: OffsetInfo! nodes: [InsightDetailedBrandCampaignISCampaign!]! } type InsightDetailedBrandCampaignISCampaignDailyMetrics { date: LocalDate! impressions: Long! impressionShareLost: BigDecimal } type InsightDetailedBrandCampaignISRank implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount campaigns("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightDetailedBrandCampaignISCampaignConnection } type InsightDetailedDisapprovedAds implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount ads("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightDisapprovedAdConnection } type InsightDetailedKeywordDuplicates implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount duplicates("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 1,000" limit: Int): InsightDetailedKeywordDuplicatesConnection } type InsightDetailedKeywordDuplicatesConnection { total: Long offsetInfo: OffsetInfo! nodes: [InsightDetailedKeywordDuplicatesDuplicate!]! } type InsightDetailedKeywordDuplicatesDuplicate { adGroup: AdGroup! keyword: InsightDetailedKeywordDuplicatesDuplicateKeyword! metrics: InsightDetailedKeywordDuplicatesDuplicateMetrics! } type InsightDetailedKeywordDuplicatesDuplicateKeyword { id: ID! keyword: String! matchType: KeywordMatchType! } type InsightDetailedKeywordDuplicatesDuplicateMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! clickThroughRate: BigDecimal conversionRate: BigDecimal convValueCost: BigDecimal costPerClick: BigDecimal costPerConversion: BigDecimal qualityScore: Long searchImpressionShare: BigDecimal } type InsightDetailedLimitedAds implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount ads("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightLimitedAdConnection } type InsightDetailedLinkCheckAds implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount fetched: Int! checked: Int! invalid: Int! links("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightLinkCheckLinkAdsConnection } type InsightDetailedLinkedInPoorOffsitePerformance implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount campaigns("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightDetailedLinkedInPoorOffsitePerformanceCampaignConnection } type InsightDetailedLinkedInPoorOffsitePerformanceCampaign { id: ID! name: String! strategy: InsightDetailedLinkedInPoorOffsitePerformanceCampaignStrategy! days365LinkedInMetrics: InsightDetailedLinkedInPoorOffsitePerformanceCampaignMetrics! days365OffsiteMetrics: InsightDetailedLinkedInPoorOffsitePerformanceCampaignMetrics! underlying: CampaignLinkedIn! } type InsightDetailedLinkedInPoorOffsitePerformanceCampaignConnection { total: Long offsetInfo: OffsetInfo! nodes: [InsightDetailedLinkedInPoorOffsitePerformanceCampaign!]! } type InsightDetailedLinkedInPoorOffsitePerformanceCampaignMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! clickThroughRate: BigDecimal convValueCost: BigDecimal costOfSales: BigDecimal costPerClick: BigDecimal costPerConversion: BigDecimal } type InsightDetailedLinkedInPoorOffsitePerformanceCampaignStrategyClickThroughRate { target: BigDecimal benchmark: BigDecimal } type InsightDetailedLinkedInPoorOffsitePerformanceCampaignStrategyConvValueCost { target: BigDecimal benchmark: BigDecimal } type InsightDetailedLinkedInPoorOffsitePerformanceCampaignStrategyCostPerConversion { target: BigDecimal benchmark: BigDecimal } type InsightDetailedLinkedInPoorOffsitePerformanceCampaignStrategyImpressions { target: Long benchmark: Long } type InsightDetailedLocationTargetInterestIn implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount campaignsCount: Long! adGroupsCount: Long! details("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightDetailedLocationTargetInterestInDetailConnection } type InsightDetailedLocationTargetInterestInDetailConnection { total: Long offsetInfo: OffsetInfo! nodes: [InsightDetailedLocationTargetInterestInDetail!]! } type InsightDetailedMicrosoftConnectionMissing implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! googleAdAccounts("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightDetailedMicrosoftConnectionMissingGoogleAdAccountConnection } type InsightDetailedMicrosoftConnectionMissingGoogleAdAccount { adAccount: AdAccountGoogle! spend: BigDecimal! } type InsightDetailedMicrosoftConnectionMissingGoogleAdAccountConnection { total: Long offsetInfo: OffsetInfo! nodes: [InsightDetailedMicrosoftConnectionMissingGoogleAdAccount!]! } type InsightDetailedMicrosoftShoppingDynamicRemarketingMissing implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount stores: [InsightMicrosoftShoppingDynamicRemarketingMissingStore!]! } type InsightDetailedNegativeKeywordConflicts implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount conflicts("Order the results by providing pairs of columns and sort directions" order: [InsightDetailedNegativeKeywordConflictsConnectionOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightDetailedNegativeKeywordConflictsConnection } type InsightDetailedNegativeKeywordConflictsConflict { adGroup: AdGroup! keyword: InsightDetailedNegativeKeywordConflictsConflictKeyword! negativeKeyword: InsightDetailedNegativeKeywordConflictsConflictNegativeKeyword! } type InsightDetailedNegativeKeywordConflictsConflictKeyword { id: ID! keyword: String! matchType: KeywordMatchType! metrics: InsightDetailedNegativeKeywordConflictsConflictKeywordMetrics } type InsightDetailedNegativeKeywordConflictsConflictKeywordMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! clickThroughRate: BigDecimal convValueCost: BigDecimal costOfSales: BigDecimal costPerConversion: BigDecimal costPerClick: BigDecimal } type InsightDetailedNegativeKeywordConflictsConflictNegativeKeyword { id: ID! keyword: String! matchType: KeywordMatchType! level: InsightDetailedNegativeKeywordConflictsConflictNegativeKeywordLevel! } type InsightDetailedNegativeKeywordConflictsConflictNegativeKeywordLevelAdGroup { adGroup: AdGroup! } type InsightDetailedNegativeKeywordConflictsConflictNegativeKeywordLevelCampaign { campaign: Campaign! } type InsightDetailedNegativeKeywordConflictsConflictNegativeKeywordLevelSharedList { list: NegativeKeywordList! } type InsightDetailedNegativeKeywordConflictsConnection { total: Long offsetInfo: OffsetInfo! nodes: [InsightDetailedNegativeKeywordConflictsConflict!]! } type InsightDetailedNoRecentChanges implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! lastUpdated: Instant adAccount: AdAccount } type InsightDetailedNotDeliveringAds implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount ads("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightNotDeliveringAdConnection } type InsightDetailedPlatformRecommendations implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount recommendations("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightDetailedPlatformRecommendationsConnection } type InsightDetailedPlatformRecommendationsConnection { total: Long offsetInfo: OffsetInfo! nodes: [PlatformRecommendation!]! } type InsightDetailedPoorSearchPartnerPerformance implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount campaigns("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightDetailedPoorSearchPartnerPerformanceCampaignConnection } type InsightDetailedPoorSearchPartnerPerformanceCampaignClickThroughRate implements InsightDetailedPoorSearchPartnerPerformanceCampaignInterface { id: ID! name: String! target: BigDecimal benchmark: BigDecimal days365SearchMetrics: InsightDetailedPoorSearchPartnerPerformanceCampaignMetrics! days365SearchPartnerMetrics: InsightDetailedPoorSearchPartnerPerformanceCampaignMetrics! } type InsightDetailedPoorSearchPartnerPerformanceCampaignConnection { total: Long offsetInfo: OffsetInfo! nodes: [InsightDetailedPoorSearchPartnerPerformanceCampaign!]! } type InsightDetailedPoorSearchPartnerPerformanceCampaignConvValueCost implements InsightDetailedPoorSearchPartnerPerformanceCampaignInterface { id: ID! name: String! target: BigDecimal benchmark: BigDecimal days365SearchMetrics: InsightDetailedPoorSearchPartnerPerformanceCampaignMetrics! days365SearchPartnerMetrics: InsightDetailedPoorSearchPartnerPerformanceCampaignMetrics! } type InsightDetailedPoorSearchPartnerPerformanceCampaignCostPerConversion implements InsightDetailedPoorSearchPartnerPerformanceCampaignInterface { id: ID! name: String! target: BigDecimal benchmark: BigDecimal days365SearchMetrics: InsightDetailedPoorSearchPartnerPerformanceCampaignMetrics! days365SearchPartnerMetrics: InsightDetailedPoorSearchPartnerPerformanceCampaignMetrics! } type InsightDetailedPoorSearchPartnerPerformanceCampaignImpressions implements InsightDetailedPoorSearchPartnerPerformanceCampaignInterface { id: ID! name: String! target: Long benchmark: Long days365SearchMetrics: InsightDetailedPoorSearchPartnerPerformanceCampaignMetrics! days365SearchPartnerMetrics: InsightDetailedPoorSearchPartnerPerformanceCampaignMetrics! } type InsightDetailedPoorSearchPartnerPerformanceCampaignMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! clickThroughRate: BigDecimal convValueCost: BigDecimal costOfSales: BigDecimal costPerClick: BigDecimal costPerConversion: BigDecimal } type InsightDetailedSearchCampaignWithDisplay implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount campaigns("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightDetailedSearchCampaignWithDisplayCampaignConnection } type InsightDetailedSearchCampaignWithDisplayCampaign { campaignId: ID! name: String! adNetworkType: GoogleAdsAdNetworkType! days90Metrics: InsightDetailedSearchCampaignWithDisplayCampaignMetrics! } type InsightDetailedSearchCampaignWithDisplayCampaignConnection { total: Long offsetInfo: OffsetInfo! nodes: [InsightDetailedSearchCampaignWithDisplayCampaign!]! } type InsightDetailedSearchCampaignWithDisplayCampaignMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! clickThroughRate: BigDecimal convValueCost: BigDecimal costOfSales: BigDecimal costPerConversion: BigDecimal } type InsightDetailedSiteLinkAutomatic implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount count: Long! siteLinks("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightSiteLinkAutomaticLinkConnection } type InsightDetailedSiteLinkAutomaticCheck implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount fetched: Int! checked: Int! invalid: Int! siteLinks("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightSiteLinkAutomaticCheckLinkConnection } type InsightDetailedSiteLinkCheck implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount fetched: Int! checked: Int! invalid: Int! disapproved: Int! issuesTotal: Int! siteLinks("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightSiteLinkCheckLinkConnection } type InsightDetailedThirdPartyChanges implements InsightDetailedInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount latestChangesPerEmail("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightThirdPartyLatestChangeConnection } type InsightDisapprovedAd { campaign: InsightDisapprovedAdCampaign! adGroup: InsightDisapprovedAdAdGroup! adIdentifier: Long! reasons: [String!]! } type InsightDisapprovedAdAdGroup { id: ID! name: String! } type InsightDisapprovedAdCampaign { id: ID! name: String! } type InsightDisapprovedAdConnection { total: Long offsetInfo: OffsetInfo! nodes: [InsightDisapprovedAd!]! } type InsightDisapprovedAds implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! total: Long! } type InsightKeywordDuplicates implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! count: Long! } type InsightKeywordsIssues implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! keywordConsoleId: ID! total: Long! } type InsightLimitedAd { adGroup: AdGroup! adIdentifier: Long! reasons: [String!]! } type InsightLimitedAdConnection { total: Long offsetInfo: OffsetInfo! nodes: [InsightLimitedAd!]! } type InsightLimitedAds implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! total: Long! } type InsightLinkCheckAds implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! "The number of ad links fetched" fetched: Int! "The number of ad links checked" checked: Int! "The number of invalid ad links found" invalid: Int! } type InsightLinkCheckAdsLink { campaign: InsightLinkCheckAdsLinkCampaign! adGroup: InsightLinkCheckAdsLinkAdGroup! adIdentifier: Long! ad: Ad link: String! linkType: InsightLinkCheckAdsLinkLinkType classification: InsightLinkCheckAdsLinkClassification! } type InsightLinkCheckAdsLinkAdGroup { id: ID! name: String! } type InsightLinkCheckAdsLinkCampaign { id: ID! name: String! } type InsightLinkCheckAdsLinkClassification404 { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type InsightLinkCheckAdsLinkClassificationSSLCertificateExpired { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _dummy: String! } type InsightLinkCheckAdsLinkClassificationUnknownHost { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type InsightLinkCheckLinkAdsConnection { total: Long offsetInfo: OffsetInfo! nodes: [InsightLinkCheckAdsLink!]! } type InsightLinkedInPoorOffsitePerformance implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! numCampaigns: Long! adAccount: AdAccount! } type InsightLocationTargetInterestIn implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! campaignsCount: Long! adGroupsCount: Long! } type InsightLocationTargetInterestInAdGroup { id: ID! name: String! campaign: InsightLocationTargetInterestInCampaign! } type InsightLocationTargetInterestInCampaign { id: ID! name: String! } type InsightMicrosoftConnectionMissing implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! spendThreshold: BigDecimal! googleAdAccounts: InsightMicrosoftConnectionMissingGoogleAdAccounts! } type InsightMicrosoftConnectionMissingGoogleAdAccounts { overThreshold: Long! } type InsightMicrosoftShoppingDynamicRemarketingMissing implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! stores: [InsightMicrosoftShoppingDynamicRemarketingMissingStore!]! } type InsightMicrosoftShoppingDynamicRemarketingMissingStore { id: ID! name: String! } type InsightNegativeKeywordConflicts implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! count: Long! } type InsightNoRecentChanges implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! lastUpdated: Instant adAccount: AdAccount! } type InsightNotDeliveringAd { adGroup: AdGroup! adIdentifier: Long! reasons: [String!]! } type InsightNotDeliveringAdConnection { total: Long offsetInfo: OffsetInfo! nodes: [InsightNotDeliveringAd!]! } type InsightNotDeliveringAds implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! total: Long! } type InsightPlatformRecommendations implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! detailCount: Long! impact: InsightPlatformRecommendationsImpact! } type InsightPlatformRecommendationsImpactMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float videoViews: Long } type InsightPlatformRecommendationsImpactMetricsUplift { current: InsightPlatformRecommendationsImpactMetrics! uplift: InsightPlatformRecommendationsImpactMetrics! recommendationsCount: Int! } type InsightPlatformRecommendationsImpactScore { scoreCurrent: Float! scoreUplift: Float! recommendationsCount: Int! } type InsightPoorSearchPartnerPerformance implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! numCampaigns: Long! adAccount: AdAccount! } type InsightProductsIssues implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! productConsoleId: ID! total: Long! } type InsightSearchCampaignWithDisplay implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! numCampaigns: Long! adAccount: AdAccount! } type InsightSearchTermsBlockedConverters implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! searchTermConsoleId: ID! searchTerms: [InsightSearchTermsCampaignSearchTerm!]! total: Long! days30: InsightSearchTermsMetrics! days365: InsightSearchTermsMetrics! } type InsightSearchTermsCampaignSearchTerm { campaign: InsightSearchTermsCampaignSearchTermCampaign! searchTerm: InsightSearchTermsCampaignSearchTermSearchTerm! } type InsightSearchTermsCampaignSearchTermCampaign { id: ID! name: String! strategy: InsightSearchTermsCampaignSearchTermCampaignStrategy! metrics: InsightSearchTermsMetrics! } type InsightSearchTermsCampaignSearchTermCampaignClickThroughRate { target: BigDecimal actual: BigDecimal performance: BigDecimal } type InsightSearchTermsCampaignSearchTermCampaignConvValueCost { target: BigDecimal actual: BigDecimal performance: BigDecimal } type InsightSearchTermsCampaignSearchTermCampaignCostPerConversion { target: BigDecimal actual: BigDecimal performance: BigDecimal } type InsightSearchTermsCampaignSearchTermCampaignImpressions { target: Long actual: Long performance: BigDecimal } type InsightSearchTermsCampaignSearchTermSearchTerm { value: String! days30: InsightSearchTermsMetrics! days365: InsightSearchTermsMetrics! } type InsightSearchTermsMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! clickThroughRate: BigDecimal convValueCost: BigDecimal costOfSales: BigDecimal costPerConversion: BigDecimal } type InsightSiteLinkAutomatic implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! "The number of automatic sitelinks." count: Long! } type InsightSiteLinkAutomaticCheck implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! "The number of automatic sitelinks fetched" fetched: Int! "The number of automatic sitelinks checked" checked: Int! "The number of invalid automatic sitelinks found" invalid: Int! } type InsightSiteLinkAutomaticCheckLinkAdAccountLink implements InsightSiteLinkAutomaticCheckLinkInterface { siteLinkId: ID! description: String issue: InsightSiteLinkCheckLinkIssue! link: String! linkType: InsightLinkCheckAdsLinkLinkType } type InsightSiteLinkAutomaticCheckLinkAdGroupLink implements InsightSiteLinkAutomaticCheckLinkInterface { siteLinkId: ID! description: String issue: InsightSiteLinkCheckLinkIssue! link: String! linkType: InsightLinkCheckAdsLinkLinkType adGroup: InsightSiteLinkCheckLinkAdGroup! campaign: InsightSiteLinkCheckLinkCampaign! } type InsightSiteLinkAutomaticCheckLinkCampaignLink implements InsightSiteLinkAutomaticCheckLinkInterface { siteLinkId: ID! description: String issue: InsightSiteLinkCheckLinkIssue! link: String! linkType: InsightLinkCheckAdsLinkLinkType campaign: InsightSiteLinkCheckLinkCampaign! } type InsightSiteLinkAutomaticCheckLinkConnection { total: Long offsetInfo: OffsetInfo! nodes: [InsightSiteLinkAutomaticCheckLink!]! } "Sitelink attached to the ad account." type InsightSiteLinkAutomaticLinkAdAccountLink implements InsightSiteLinkAutomaticLinkInterface { siteLinkId: ID! description: String link: String! impressions: Long } type InsightSiteLinkAutomaticLinkAdGroup { id: ID! name: String! } "Sitelink attached to an ad group." type InsightSiteLinkAutomaticLinkAdGroupLink implements InsightSiteLinkAutomaticLinkInterface { siteLinkId: ID! description: String link: String! impressions: Long adGroup: InsightSiteLinkAutomaticLinkAdGroup! campaign: InsightSiteLinkAutomaticLinkCampaign! } type InsightSiteLinkAutomaticLinkCampaign { id: ID! name: String! } "Sitelink attached to a campaign." type InsightSiteLinkAutomaticLinkCampaignLink implements InsightSiteLinkAutomaticLinkInterface { siteLinkId: ID! description: String link: String! impressions: Long campaign: InsightSiteLinkAutomaticLinkCampaign! } type InsightSiteLinkAutomaticLinkConnection { total: Long offsetInfo: OffsetInfo! nodes: [InsightSiteLinkAutomaticLink!]! } type InsightSiteLinkCheck implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! "The number of sitelinks fetched" fetched: Int! "The number of sitelinks checked" checked: Int! "The number of invalid sitelinks found" invalid: Int! "The number of disapproved sitelinks found" disapproved: Int! "The total number of sitelinks with issues found" issuesTotal: Int! } "Sitelink attached to the ad account." type InsightSiteLinkCheckLinkAdAccountLink implements InsightSiteLinkCheckLinkInterface { siteLinkId: ID! description: String source: InsightSiteLinkCheckSiteLinkSource! issue: InsightSiteLinkCheckLinkIssue! link: String! linkType: InsightLinkCheckAdsLinkLinkType } type InsightSiteLinkCheckLinkAdGroup { id: ID! name: String! } "Sitelink attached to an ad group." type InsightSiteLinkCheckLinkAdGroupLink implements InsightSiteLinkCheckLinkInterface { siteLinkId: ID! description: String source: InsightSiteLinkCheckSiteLinkSource! issue: InsightSiteLinkCheckLinkIssue! link: String! linkType: InsightLinkCheckAdsLinkLinkType adGroup: InsightSiteLinkCheckLinkAdGroup! campaign: InsightSiteLinkCheckLinkCampaign! } type InsightSiteLinkCheckLinkCampaign { id: ID! name: String! } "Sitelink attached to a campaign." type InsightSiteLinkCheckLinkCampaignLink implements InsightSiteLinkCheckLinkInterface { siteLinkId: ID! description: String source: InsightSiteLinkCheckSiteLinkSource! issue: InsightSiteLinkCheckLinkIssue! link: String! linkType: InsightLinkCheckAdsLinkLinkType campaign: InsightSiteLinkCheckLinkCampaign! } type InsightSiteLinkCheckLinkClassification404 { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type InsightSiteLinkCheckLinkClassificationSSLCertificateExpired { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _dummy: String! } type InsightSiteLinkCheckLinkClassificationUnknownHost { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type InsightSiteLinkCheckLinkConnection { total: Long offsetInfo: OffsetInfo! nodes: [InsightSiteLinkCheckLink!]! } type InsightSiteLinkCheckLinkIssueDisapproved { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type InsightSiteLinkCheckLinkIssueErrors { classification: InsightSiteLinkCheckLinkClassification! } type InsightThirdPartyChanges implements InsightInterface { id: ID! scanId: ID! timestamp: Instant! type: ScanType! subType: String! category: InsightCategory! adAccount: AdAccount! emails: [InsightThirdPartyChangesEmail!]! total: Long! } type InsightThirdPartyChangesEmail { email: String! count: Int! } type InsightThirdPartyLatestChange { email: String! at: Instant! type: String! source: String! total: Int! } type InsightThirdPartyLatestChangeConnection { total: Long offsetInfo: OffsetInfo! nodes: [InsightThirdPartyLatestChange!]! } type InsightTypeCounts { types: [AlertTypeCountsType!]! } type InsightWastedSpend { lower: BigDecimal! upper: BigDecimal! } type KeywordAmazon implements KeywordInterface { platform: AdPlatform! id: ID! keyword: String! matchType: AmazonKeywordMatchType! active: Boolean! adGroup: AdGroupAmazon! } type KeywordConnection { total: Long offsetInfo: OffsetInfo! nodes: [Keyword!]! } type KeywordConsole { adAccount: AdAccount! status: KeywordConsoleStatus! } type KeywordConsoleCampaignAdGroupKeywordAdGroup { id: ID! name: String! status: KeywordConsoleCampaignAdGroupKeywordAdGroupStatus! } type KeywordConsoleCampaignAdGroupKeywordClickThroughRate implements KeywordConsoleCampaignAdGroupKeywordInterface { classification: KeywordConsoleCampaignKeywordClassification! campaign: KeywordConsoleCampaignClickThroughRate! adGroup: KeywordConsoleCampaignAdGroupKeywordAdGroup! keyword: KeywordConsoleCampaignAdGroupKeywordKeyword! days30: KeywordConsoleCampaignAdGroupKeywordMetrics! days60: KeywordConsoleCampaignAdGroupKeywordMetrics! days90: KeywordConsoleCampaignAdGroupKeywordMetrics! days180: KeywordConsoleCampaignAdGroupKeywordMetrics! days365: KeywordConsoleCampaignAdGroupKeywordMetrics! } type KeywordConsoleCampaignAdGroupKeywordConnection { total: Long offsetInfo: OffsetInfo! nodes: [KeywordConsoleCampaignAdGroupKeyword!]! } type KeywordConsoleCampaignAdGroupKeywordConvValueCost implements KeywordConsoleCampaignAdGroupKeywordInterface { classification: KeywordConsoleCampaignKeywordClassification! campaign: KeywordConsoleCampaignConvValueCost! adGroup: KeywordConsoleCampaignAdGroupKeywordAdGroup! keyword: KeywordConsoleCampaignAdGroupKeywordKeyword! days30: KeywordConsoleCampaignAdGroupKeywordMetrics! days60: KeywordConsoleCampaignAdGroupKeywordMetrics! days90: KeywordConsoleCampaignAdGroupKeywordMetrics! days180: KeywordConsoleCampaignAdGroupKeywordMetrics! days365: KeywordConsoleCampaignAdGroupKeywordMetrics! } type KeywordConsoleCampaignAdGroupKeywordCostPerConversion implements KeywordConsoleCampaignAdGroupKeywordInterface { classification: KeywordConsoleCampaignKeywordClassification! campaign: KeywordConsoleCampaignCostPerConversion! adGroup: KeywordConsoleCampaignAdGroupKeywordAdGroup! keyword: KeywordConsoleCampaignAdGroupKeywordKeyword! days30: KeywordConsoleCampaignAdGroupKeywordMetrics! days60: KeywordConsoleCampaignAdGroupKeywordMetrics! days90: KeywordConsoleCampaignAdGroupKeywordMetrics! days180: KeywordConsoleCampaignAdGroupKeywordMetrics! days365: KeywordConsoleCampaignAdGroupKeywordMetrics! } type KeywordConsoleCampaignAdGroupKeywordImpressions implements KeywordConsoleCampaignAdGroupKeywordInterface { classification: KeywordConsoleCampaignKeywordClassification! campaign: KeywordConsoleCampaignImpressions! adGroup: KeywordConsoleCampaignAdGroupKeywordAdGroup! keyword: KeywordConsoleCampaignAdGroupKeywordKeyword! days30: KeywordConsoleCampaignAdGroupKeywordMetrics! days60: KeywordConsoleCampaignAdGroupKeywordMetrics! days90: KeywordConsoleCampaignAdGroupKeywordMetrics! days180: KeywordConsoleCampaignAdGroupKeywordMetrics! days365: KeywordConsoleCampaignAdGroupKeywordMetrics! } type KeywordConsoleCampaignAdGroupKeywordKeyword { id: ID! text: String! matchType: KeywordMatchType! active: Boolean! firstSeen: Instant } type KeywordConsoleCampaignAdGroupKeywordMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! clickThroughRate: BigDecimal conversionRate: BigDecimal convValueCost: BigDecimal costPerClick: BigDecimal costPerConversion: BigDecimal } type KeywordConsoleCampaignAdGroupKeywordV2 { classification: KeywordConsoleCampaignKeywordClassification! campaign: KeywordConsoleCampaignV2! adGroup: KeywordConsoleCampaignAdGroupKeywordV2AdGroup! keyword: KeywordConsoleCampaignAdGroupKeywordV2Keyword! days30: KeywordConsoleCampaignAdGroupKeywordMetrics! days60: KeywordConsoleCampaignAdGroupKeywordMetrics! days90: KeywordConsoleCampaignAdGroupKeywordMetrics! days180: KeywordConsoleCampaignAdGroupKeywordMetrics! days365: KeywordConsoleCampaignAdGroupKeywordMetrics! } type KeywordConsoleCampaignAdGroupKeywordV2AdGroup { id: ID! name: String! status: KeywordConsoleCampaignAdGroupKeywordAdGroupStatus! underlying: AdGroup! } type KeywordConsoleCampaignAdGroupKeywordV2Connection { total: Long offsetInfo: OffsetInfo! nodes: [KeywordConsoleCampaignAdGroupKeywordV2!]! } type KeywordConsoleCampaignAdGroupKeywordV2Keyword { id: ID! text: String! matchType: KeywordMatchType! active: Boolean! firstSeen: Instant bid: BigDecimal previousBid: KeywordConsoleCampaignAdGroupKeywordV2KeywordPreviousBid } type KeywordConsoleCampaignAdGroupKeywordV2KeywordPreviousBid { changed: Instant! bid: BigDecimal } type KeywordConsoleCampaignClickThroughRate { id: ID! identifier: Long! name: String! status: KeywordConsoleCampaignStatus! target: BigDecimal benchmark: BigDecimal metrics: KeywordConsoleCampaignMetrics! clickThroughRate: BigDecimal clickThroughRatePercentage: BigDecimal } type KeywordConsoleCampaignConvValueCost { id: ID! identifier: Long! name: String! status: KeywordConsoleCampaignStatus! target: BigDecimal benchmark: BigDecimal metrics: KeywordConsoleCampaignMetrics! convValueCost: BigDecimal convValueCostPercentage: BigDecimal costPerConversion: BigDecimal } type KeywordConsoleCampaignCostPerConversion { id: ID! identifier: Long! name: String! status: KeywordConsoleCampaignStatus! target: BigDecimal benchmark: BigDecimal metrics: KeywordConsoleCampaignMetrics! costPerConversion: BigDecimal costPerConversionPercentage: BigDecimal } type KeywordConsoleCampaignImpressions { id: ID! identifier: Long! name: String! status: KeywordConsoleCampaignStatus! target: Long benchmark: Long metrics: KeywordConsoleCampaignMetrics! impressions: Long impressionsPercentage: BigDecimal } type KeywordConsoleCampaignKeywordClassificationIgnored implements KeywordConsoleCampaignKeywordClassificationInterface { type: KeywordConsoleClassification! } type KeywordConsoleCampaignKeywordClassificationIssues implements KeywordConsoleCampaignKeywordClassificationInterface { type: KeywordConsoleClassification! issue: KeywordConsoleCampaignKeywordClassificationIssuesIssue } type KeywordConsoleCampaignKeywordClassificationIssuesIssue { status: KeywordConsoleCampaignKeywordClassificationIssuesIssueStatus! reasons: [String!]! } type KeywordConsoleCampaignKeywordClassificationLowData implements KeywordConsoleCampaignKeywordClassificationInterface { type: KeywordConsoleClassification! } type KeywordConsoleCampaignKeywordClassificationNoClicks implements KeywordConsoleCampaignKeywordClassificationInterface { type: KeywordConsoleClassification! } type KeywordConsoleCampaignKeywordClassificationPerformanceAverage implements KeywordConsoleCampaignKeywordClassificationInterface { type: KeywordConsoleClassification! } type KeywordConsoleCampaignKeywordClassificationPerformanceBad implements KeywordConsoleCampaignKeywordClassificationInterface { type: KeywordConsoleClassification! } type KeywordConsoleCampaignKeywordClassificationPerformanceGood implements KeywordConsoleCampaignKeywordClassificationInterface { type: KeywordConsoleClassification! } type KeywordConsoleCampaignKeywordClassificationSpendAverage implements KeywordConsoleCampaignKeywordClassificationInterface { type: KeywordConsoleClassification! } type KeywordConsoleCampaignKeywordClassificationSpendHigh implements KeywordConsoleCampaignKeywordClassificationInterface { type: KeywordConsoleClassification! } type KeywordConsoleCampaignKeywordClassificationSpendLow implements KeywordConsoleCampaignKeywordClassificationInterface { type: KeywordConsoleClassification! } type KeywordConsoleCampaignMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! } type KeywordConsoleCampaignV2 { id: ID! name: String! status: KeywordConsoleCampaignStatus! benchmark: KeywordConsoleCampaignV2Benchmark! metrics: KeywordConsoleCampaignMetrics! underlying: Campaign! } type KeywordConsoleCampaignV2BenchmarkClickThroughRate { target: BigDecimal benchmark: BigDecimal clickThroughRate: BigDecimal clickThroughRatePercentage: BigDecimal } type KeywordConsoleCampaignV2BenchmarkConvValueCost { target: BigDecimal benchmark: BigDecimal convValueCost: BigDecimal convValueCostPercentage: BigDecimal costPerConversion: BigDecimal } type KeywordConsoleCampaignV2BenchmarkCostPerConversion { target: BigDecimal benchmark: BigDecimal costPerConversion: BigDecimal costPerConversionPercentage: BigDecimal } type KeywordConsoleCampaignV2BenchmarkImpressions { target: Long benchmark: Long impressions: Long impressionsPercentage: BigDecimal } type KeywordConsoleConnection { total: Long offsetInfo: OffsetInfo! nodes: [KeywordConsole!]! } type KeywordConsoleStatusCompleted { scanId: ID! id: ID! completed: Instant! "The time when the data was fetched. Will be before completed if this was a rerun." dataFetched: Instant! totals: KeywordConsoleTotals! } type KeywordConsoleStatusDisabled { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type KeywordConsoleStatusInitializing { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type KeywordConsoleStatusPending { starts: Instant! } type KeywordConsoleStatusRunning { started: Instant! current: KeywordConsoleStatusCompleted! } type KeywordConsoleStatusSnoozed { until: Instant! } type KeywordConsoleSummary { totals: KeywordConsoleTotals! "total number of imported ad accounts" total: Long! } type KeywordConsoleTotals { performanceGood: Int! performanceAverage: Int! performanceBad: Int! lowData: Int! spendHigh: Int! spendAverage: Int! spendLow: Int! noClicks: Int! issues: Int! ignored: Int! } type KeywordExtraAdAccount implements KeywordExtraInterface { keyword: String! matchType: KeywordMatchType! } type KeywordExtraAdGroup implements KeywordExtraInterface { keyword: String! matchType: KeywordMatchType! adGroup: AdGroup! } type KeywordExtraCampaign implements KeywordExtraInterface { keyword: String! matchType: KeywordMatchType! campaign: Campaign! } type KeywordGoogle implements KeywordInterface { platform: AdPlatform! id: ID! keyword: String! matchType: GoogleKeywordMatchType! active: Boolean! adGroup: AdGroupGoogle! } type KeywordMicrosoft implements KeywordInterface { platform: AdPlatform! id: ID! keyword: String! matchType: MicrosoftKeywordMatchType! active: Boolean! adGroup: AdGroupMicrosoft! } type Manager { platform: AdPlatform! id: Long! name: String! } type ManagerAccessibleAdAccounts { platform: AdPlatform! id: String! "A secondary identifier for a manager account in its platform. E.g. Customer Number in Microsoft Ads." secondaryId: String name: String! root: Boolean! adAccounts: [AdAccountId!]! } type ManagerAccessibleAdAccountsConnection { total: Long offsetInfo: OffsetInfo! nodes: [ManagerAccessibleAdAccounts!]! } type MerchantGoogle { platform: MerchantPlatform! id: ID! name: String! website: String } type MerchantId { platform: MerchantPlatform! identifier: ID! } type MerchantProductConnection { total: Long offsetInfo: OffsetInfo! nodes: [MerchantProduct!]! } type MerchantProductGoogle implements MerchantProductInterface { merchantId: MerchantId! id: ID! title: String! price: Currency } type MerchantProductMicrosoft implements MerchantProductInterface { merchantId: MerchantId! id: ID! title: String! } type MetricChangeAlertDefinition { id: ID! name: String! comparison: MetricChangeAlertDefinitionComparison! accountSelector: String accountSelectorAST: ASTExpressionBooleanExpression accountTags: [[Tag!]!] campaignSelector: String campaignSelectorAST: ASTExpressionBooleanExpression numLinkedAdAccounts: Long contacts: [Contact!] users: [User!] } type MetricChangeAlertDefinitionComparisonFluctuation { range: Int! metric: MetricChangeAlertDefinitionComparisonMetric! fluctuationOperator: MetricChangeAlertDefinitionComparisonFluctuationOperator! fluctuationValue: MetricChangeAlertDefinitionComparisonFluctuationValue! minimum: MetricChangeAlertDefinitionComparisonMinimum against: Int! } type MetricChangeAlertDefinitionComparisonFluctuationValuePercentage { percentage: BigDecimal! } type MetricChangeAlertDefinitionComparisonFluctuationValueStandardDeviation { num: Int! } type MetricChangeAlertDefinitionComparisonMinimum { metric: MetricChangeAlertDefinitionComparisonMetric! value: Float! } type MetricChangeAlertDefinitionComparisonResultPercentage { interval: Between! previousInterval: Between! current: Float! previous: Float! operator: MetricChangeAlertDefinitionComparisonResultOperator! percentage: BigDecimal! actual: BigDecimal! } type MetricChangeAlertDefinitionComparisonResultStandardDeviation { interval: Between! previousInterval: Between! current: Float! operator: MetricChangeAlertDefinitionComparisonResultOperator! mean: Float! sd: Float! multiplier: Int! sdFromMean: Float! } type MetricChangeAlertDefinitionComparisonResultValue { interval: Between! actual: Float! operator: MetricChangeAlertDefinitionComparisonResultOperator! value: Float! } type MetricChangeAlertDefinitionComparisonThreshold { range: Int! metric: MetricChangeAlertDefinitionComparisonMetric! operator: MetricChangeAlertDefinitionComparisonThresholdOperator! value: Float! minimum: MetricChangeAlertDefinitionComparisonMinimum } type MetricChangeAlertDefinitionLinkedAdAccountsConnection { total: Long offsetInfo: OffsetInfo! nodes: [AdAccount!]! } type MicrosoftAdsTargetSetting { criterionTypeGroup: MicrosoftAdsTargetSettingCriterionTypeGroup! bidOnly: Boolean! } type MicrosoftCustomerSignupResult { customerId: ID! customerNumber: String! accountId: Long! accountNumber: String! "Indicates whether linking the newly created customer to the manager agency was successful." handedOver: Boolean! } type MicrosoftCustomerSignupUser { id: ID! username: String! } type MicrosoftCustomerSignupValidateAddressResult { valid: Boolean! suggestedAddresses: [MicrosoftCustomerSignupValidateAddressResultSuggestedAddress!]! } type MicrosoftCustomerSignupValidateAddressResultSuggestedAddress { line1: String line2: String line3: String line4: String city: String postalCode: String stateOrProvince: String countryCode: CountryCode } type Mutations { userInvitationCreate(name: String, email: String!, roles: [UserRole!]!): UserInvitationPending userInvitationResend(email: String!): Unit userInvitationRevoke(email: String!): Unit userUpdate(id: ID!, preferredName: String, name: String, avatar: String, timeZone: TimeZone, roles: [UserRole!]): User userRemove(id: ID!): Boolean userReplace(id: ID!, replaceWith: ID!): UserReferencesReplaced userCurrentEmailVerification: Unit userCurrentUpdate(preferredName: String, name: String, avatar: String, timeZone: TimeZone): UserCurrent userCurrentUpdateAppSettings(delayChildBudgetLoading: Boolean, pageSize: Int, "Array of ids of the tables to remove from user settings." tablesToRemove: [String!]!, "Array of tables to add or update in the user settings" tablesToUpsert: [UserAppSettingsTableInput!]!): UserAppSettings userCurrentUpdatePassword(current: String!, new: String!): UserCurrent stripeEmailUpdate(email: String!): StripeCustomer stripePaymentMethodAttach(id: ID!, "Should this payment method be made the default for the customer" default: Boolean!): StripePaymentMethod stripePaymentMethodDetach(id: ID!): ID "Flag the subscription to cancel at the end of the current period" stripeSubscriptionCancel: StripeSubscription "Unflag a subscription that is flagged to end at the current period" stripeSubscriptionUncancel: StripeSubscription alertArchive(alertIds: [ID!]!): [Alert!] tagCreate("1-80 characters" name: String!, "1-255 characters" description: String, color: String!): Tag tagUpdate(tagId: ID!, name: String, description: String, color: String): Tag tagDelete(tagId: ID!): Boolean connectAmazonAccount(code: String!, codeVerifier: String!, redirectUri: String!, requestedTestScope: Boolean): OrganizationCredentialAmazon connectFacebookAds(code: String!, codeVerifier: String, redirectUri: String!): OrganizationCredentialFacebook connectFacebookAdsToken(name: String, token: String!): OrganizationCredentialFacebook connectGoogleAccount(code: String!, redirectUri: String): OrganizationCredentialGoogle connectLinkedInAccount(code: String!, redirectUri: String!): OrganizationCredentialLinkedIn connectMicrosoftAccount(code: String!, codeVerifier: String!, redirectUri: String!, clientId: String): OrganizationCredentialMicrosoft credentialOrder(ids: [ID!]!): [OrganizationCredential!] credentialDisconnect(id: ID!): OrganizationCredential connectGoogleMerchantCenter(code: String!, redirectUri: String): OrganizationCredentialGoogleMerchantCenter credentialMerchantOrder(ids: [ID!]!): [OrganizationMerchantCredential!] credentialMerchantDisconnect(id: ID!): OrganizationMerchantCredential credentialSyncTrigger(id: ID!): ID contactCreate(name: String!, email: String!): Contact contactUpdate(contactId: ID!, name: String, email: String): Contact contactDelete(contactId: ID!): Boolean adAccountInsightAlertDefinitionCreate(name: String!, categories: [InsightCategory!]!, selector: AdAccountInsightAlertDefinitionSelectorInput, adAccountIds: [AdAccountIdInput!], target: AdAccountInsightAlertDefinitionArgsTargetInput!, dailySummary: Boolean!): AdAccountInsightAlertDefinition adAccountInsightAlertDefinitionUpdate(id: ID!, name: String, categories: [InsightCategory!], selector: AdAccountInsightAlertDefinitionSelectorInput, adAccountIds: [AdAccountIdInput!], target: AdAccountInsightAlertDefinitionArgsTargetInput, dailySummary: Boolean): AdAccountInsightAlertDefinition adAccountInsightAlertDefinitionDelete(id: ID!): Boolean adAccountLink(id: AdAccountIdInput!, client: ID, credentials: [LinkAdAccountCredentialIdentifierInput!]!): AdAccount adAccountUnlink(id: AdAccountIdInput!, "If true also removes the ad accounts client if it is no longer linked to any other ad accounts. Defaults to false" removeOrphanedClients: Boolean @deprecated(reason: "ignored, an ad accounts client is removed when it is")): Boolean adAccountCredentialOverridesForMutations(id: AdAccountIdInput!, overrides: AdAccountCredentialOverridesForMutationsInput!): AdAccount adAccountSyncTrigger(id: AdAccountIdInput!): ID adAccountTag(attach: [AdAccountTagInput!], detach: [AdAccountTagInput!]): Unit adAccountPerformanceReportExport(start: LocalDate!, end: LocalDate!, platforms: [AdPlatform!], "Maximum allowed value is 1,000" ids: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!], "Filter expression. Supported variables are 'account.platform', 'account.id', 'account.name'" filter: String, "Whether to use user aliases for field names. Defaults to true." withAliasHeaders: Boolean): Export budgetCreateCustomV2(budget: BudgetNewV2Input!): BudgetCustomV2 budgetCreateCustomV2FromTemplate(budgetTemplateId: ID!, budget: BudgetNewFromTemplateInput!): BudgetCustomV2 budgetCreateGoogleAccount(budget: BudgetNewGoogleAccountInput!): BudgetGoogleAccount "Call before creating a budget to preview approximately what adjustments would be made to selected campaign budgets" budgetCreatePreviewAdjustments(budget: BudgetPreviewAdjustmentsNewInput!): BudgetPreviewAdjustments budgetCreatePreviewAdjustmentsGoogleAccount(budget: BudgetPreviewAdjustmentsNewGoogleAccountInput!): BudgetPreviewAdjustments budgetCreatePreviewConflicts(budget: BudgetPreviewConflictsNewInput!): BudgetPreviewConflicts budgetCreatePreviewConflictsGoogleAccount(budget: BudgetPreviewConflictsNewGoogleAccountInput!): BudgetPreviewConflicts budgetUpdateCustomV2(budgetId: ID!, campaignBudgetGroup: BudgetUpdateCampaignBudgetGroupInput, name: String, auto: BudgetUpdateAutoInput, reportChildAmountDiff: Boolean, "The maximum number of schedules is 100" schedules: [BudgetScheduleModificationInput!]): BudgetCustomV2 budgetUpdateGoogleAccount(budgetId: ID!, "If the value is null then the kpi will be removed" kpi: CampaignBudgetGroupKpiInput, name: String, auto: BudgetUpdateGoogleAccountAutoInput, reportChildAmountDiff: Boolean): BudgetGoogleAccount "Call before updating a budget to preview what adjustments would be made to selected campaign budgets" budgetUpdatePreviewAdjustments(budget: BudgetPreviewAdjustmentsUpdateInput!): BudgetPreviewAdjustments budgetUpdatePreviewConflicts(budget: BudgetPreviewConflictsUpdateInput!): BudgetPreviewConflicts "Irreversibility delete a budget" budgetDelete(budgetId: ID!): Boolean budgetTemplateCreate(name: String!, data: BudgetTemplateDataCreateInput!): BudgetTemplate budgetTemplateUpdate(budgetTemplateId: ID!, name: String, data: BudgetTemplateDataUpdateInput): BudgetTemplate budgetTemplateDelete(budgetTemplateId: ID!): Boolean budgetCampaignBudgetLocking(budgetId: ID!, recommendationId: ID, lock: [BudgetCampaignBudgetLockingReferenceInput!]!, unlock: [BudgetCampaignBudgetLockingReferenceInput!]!): [BudgetCampaignBudget!] budgetCampaignBudgetRange(budgetId: ID!, recommendationId: ID, set: [BudgetCampaignBudgetRangeSetInput!]!, remove: [BudgetCampaignBudgetRangeReferenceInput!]!): [BudgetCampaignBudget!] budgetExport("Set to true to replace columns headers with more user friendly names. Defaults to true." withAliasHeaders: Boolean, platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!], "The maximum number of values is 1,000" budgetIds: [ID!], "Filter expression. Supported variables are 'name: String!', 'client.name: String!'" filter: String, "Return only entries that overlap with the given range. It not set returns all budgets with their current entry if they have one." between: BetweenInput): Export budgetExportChanges("Set to true to replace columns headers with more user friendly names. Defaults to true." withAliasHeaders: Boolean, clientId: ID @deprecated(reason: "clients will be removed in the future, use `adAccountIds`"), "Maximum allowed value is 10" adAccountIds: [AdAccountIdInput!], "Return only changes that occurred before this timestamp" until: Instant): Export budgetAlertDefinitionCreate(name: String!, selector: BudgetAlertDefinitionSelectorInput, budgetIds: [ID!], check: BudgetAlertDefinitionCheckDefinitionInput!, target: BudgetAlertDefinitionArgsTargetInput!, options: BudgetAlertDefinitionOptionsInput): BudgetAlertDefinition budgetAlertDefinitionUpdate(id: ID!, name: String, selector: BudgetAlertDefinitionSelectorInput, budgetIds: [ID!], check: BudgetAlertDefinitionCheckDefinitionInput, target: BudgetAlertDefinitionArgsTargetInput, options: BudgetAlertDefinitionOptionsUpdateInput): BudgetAlertDefinition budgetAlertDefinitionDelete(id: ID!): Boolean budgetPerformanceCardCreate(budgetId: ID!, "maximum number of cards per budget is 25" cards: [BudgetPerformanceCardNewInput!]!): [BudgetPerformanceCard!] budgetPerformanceCardUpdate(budgetId: ID!, card: BudgetPerformanceCardUpdateInput!): BudgetPerformanceCard budgetPerformanceCardDelete(budgetId: ID!, budgetPerformanceCardIds: [ID!]!): [ID!] budgetPerformanceCardOrder(budgetId: ID!, budgetPerformanceCardIds: [ID!]!): [BudgetPerformanceCard!] campaignBudgetGroupCreate(name: String!, clientId: ID!, selector: String, selected: [CampaignBudgetGroupSelectedInput!], kpi: CampaignBudgetGroupKpiInput, parentCampaignBudgetGroupId: ID): CampaignBudgetGroup campaignBudgetGroupCreatePreviewConflicts(campaignBudgetGroup: CampaignBudgetGroupPreviewConflictsNewInput!): CampaignBudgetGroupPreviewConflicts campaignBudgetGroupUpdate(id: ID!, "If the value is null then the selector will be removed" selector: String, selectedAdd: [CampaignBudgetGroupSelectedInput!], selectedRemove: [CampaignBudgetGroupSelectedInput!], "If the value is null then the kpi will be removed" kpi: CampaignBudgetGroupKpiInput): CampaignBudgetGroup campaignBudgetGroupUpdatePreviewConflicts(campaignBudgetGroup: CampaignBudgetGroupPreviewConflictsUpdateInput!): CampaignBudgetGroupPreviewConflicts campaignBudgetGroupDelete(id: ID!): Boolean metricChangeAlertDefinitionCreate(name: String!, comparison: MetricChangeAlertDefinitionComparisonInput!, accountSelector: String, accountTags: [[ID!]!], campaignSelector: String, target: MetricChangeAlertDefinitionArgsTargetInput!): MetricChangeAlertDefinition metricChangeAlertDefinitionUpdate(id: ID!, name: String, comparison: MetricChangeAlertDefinitionComparisonInput, accountSelector: String, accountTags: [[ID!]!], campaignSelector: String, target: MetricChangeAlertDefinitionArgsTargetInput): MetricChangeAlertDefinition metricChangeAlertDefinitionDelete(id: ID!): Boolean hubspotIntegrationCreate(authorizationCode: String!): HubSpotIntegration hubspotIntegrationDelete(hubSpotId: ID!): Boolean microsoftCustomerSignup("Name of the account. Must have 3 to 100 characters." accountName: String!, "The MSA customer name. Maximum length allowed is 90 characters." advertiserName: String!, industry: MicrosoftAdsCustomerIndustry!, "The primary country where the customer operates." marketCountry: CountryCode!, "The language for the MSA product interface." microsoftAdsInterfaceLanguage: MicrosoftAdsCustomerLanguageType!, business: MicrosoftCustomerSignupBusinessInput!, "The ISO code for the currency that is used to settle the account." currency: CurrencyCode!, "The default time-zone value to use for campaigns in this account." timeZone: TimeZone!, "The microsoft customer (agency) that should be linked to the newly signed up customer" manager: ID!, "The id of the user belonging to the managing agency to set as primary for the new ad account" managerUserId: ID!): MicrosoftCustomerSignupResult noteCreate(note: String!, timestamp: Instant!, adAccountId: AdAccountIdInput): Note noteUpdate(noteId: ID!, note: String, timestamp: Instant): Note noteDelete(noteId: ID!): Boolean noteExport("Maximum allowed value is 1,000" userIds: [ID!], platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!], "Filter expression. Supported variables are 'note: String!', 'timestamp: Timestamp!', 'client.name: String!', 'user.name: String!', 'user.email: String!'" filter: String, "Whether to use user aliases for field names. Defaults to true." withAliasHeaders: Boolean): Export organizationUpdate(microsoftAdsCouponsOptOut: Boolean!): Boolean scanDefinitionDisable(type: ScanType!): ScanDefinition scanDefinitionEnable(type: ScanType!): ScanDefinition scanDefinitionUpdate(config: ScanDefinitionUpdateConfigInput!): ScanDefinition scanDisable(scanId: ID!): Scan scanEnable(scanId: ID!): Scan scanSnooze(scanId: ID!, until: Instant!): Scan scanUnsnooze(scanId: ID!): Scan scanUpdate(scanId: ID!, config: ScanUpdateConfigInput!, "should the scan rerun if something was updated" rerun: Boolean! = false): Scan scanRun(scanId: ID!): Scan insightSnooze(scanId: ID!, subType: String!, until: Instant!): Scan insightUnsnooze(scanId: ID!, subType: String!): Scan insightAutomationExportChanges("Set to true to replace columns headers with more user friendly names. Defaults to true." withAliasHeaders: Boolean, "Set to null to return changes for all ad accounts." adAccountId: AdAccountIdInput, "Return only changes that occurred before this timestamp, only valid if an ad account id is provided." until: Instant): Export adGroupConsoleCampaignAdGroupsExport(id: ID!, classifications: [AdGroupConsoleClassification!], "Filter expression. Supported variables are 'campaign.name: String', 'ad_group.name: String' and the 'day_*' order keys." filter: String): Export assetGroupConsoleCampaignAssetGroupsExport(id: ID!, resultType: AssetGroupConsoleResultType!, classifications: [AssetGroupConsoleClassification!], "Filter expression. Supported variables are 'campaign.name: String', 'asset_group.name: String' and the 'day_*' order keys." filter: String): Export audienceConsoleAudiencesExport(id: ID!, classifications: [AudienceConsoleClassification!], "Filter expression. Supported variables are 'campaign.name: String', 'ad_group.name: String', 'audience.name: String' and the 'day_*' order keys." filter: String): Export campaignConsoleCampaignsExport(id: ID!, classifications: [CampaignConsoleClassification!], "Filter expression. Supported variables are 'campaign.name: String' and the 'day_*' order keys." filter: String): Export deviceConsoleCampaignDevicesExport(id: ID!, resultType: DeviceConsoleResultType!, classifications: [DeviceConsoleClassification!], "Filter expression. Supported variables are 'campaign.name: String', 'device: String' and the 'day_*' order keys." filter: String): Export keywordConsoleCampaignAdGroupKeywordsExport(id: ID!, resultType: KeywordConsoleResultType!, classifications: [KeywordConsoleClassification!], "Filter expression. Supported variables are 'campaign.name: String', 'ad_group.name: String', 'keyword: String' and the 'day_*' order keys." filter: String): Export ngramConsoleCampaignNGramsExport(id: ID!, classifications: [SearchTermNGramConsoleClassification!], "If set to 'true' only return n-grams that are contained in at least one active keyword" containedInKeyword: Boolean, "Filter expression. Supported variables are 'campaign.name: String', 'ngram.text: String', 'ngram.length: Int', 'ngram.search_term_matches: Int' and the 'day_*' order keys." filter: String): Export productConsoleProductsExport(id: ID!, classifications: [ProductConsoleClassification!], "Filter expression. Supported variables are 'id: String', 'title: String' and the 'day_*' order keys." filter: String): Export publisherConsoleCampaignAdGroupPublishersExport(id: ID!, classifications: [PublisherConsoleClassification!], "Filter expression. Supported variables are 'campaign.name: String', 'ad_group.name: String', 'publisher.domain: String' and the 'day_*' order keys." filter: String): Export searchTermConsoleCampaignSearchTermsExport(id: ID!, classifications: [SearchTermConsoleClassification!], "Filter expression. Supported variables are 'campaign: String', 'search_term: String' and the 'day_*' order keys." filter: String): Export searchTermCloseVariantsAutoNegativesDisable(adAccountId: AdAccountIdInput!, campaignId: ID!, adGroupId: ID!): Boolean searchTermCloseVariantsAutoNegativesEnable(adAccountId: AdAccountIdInput!, campaignId: ID!, adGroupId: ID!, level: SearchTermCloseVariantsAutoNegativesLevel!, negativeKeywordListId: ID, "if set to 'true' an action run will be created that executes auto negatives on the current data" action: Boolean, "if set to 'true' enables auto adding single word negative phrases when all keywords are exact match, defaults to 'false'" addPhrasesIfAllKeywordsExactMatch: Boolean): SearchTermCloseVariantsAutoNegativesEnabled searchTermCloseVariantsAutoNegativesExportChanges("Set to true to replace columns headers with more user friendly names. Defaults to true." withAliasHeaders: Boolean, adAccountId: AdAccountIdInput!, "Return only changes that occurred before this timestamp" until: Instant): Export actionsQueue(adAccountId: AdAccountIdInput!, "The maximum number of actions is 1,000" actions: [ActionInput!]!): ID actionsQueueAmazon(amazonAdAccountId: ID!, "The maximum number of actions is 1,000" actions: [ActionAmazonInput!]!): ID actionsQueueFacebook(facebookAdAccountId: ID!, "The maximum number of actions is 1,000" actions: [ActionFacebookInput!]!): ID actionsQueueGoogle(googleAdAccountId: ID!, "The maximum number of actions is 1,000" actions: [ActionGoogleInput!]!): ID actionsQueueLinkedIn(linkedinAdAccountId: ID!, "The maximum number of actions is 1,000" actions: [ActionLinkedInInput!]!): ID actionsQueueMicrosoft(microsoftAdAccountId: ID!, "The maximum number of actions is 1,000" actions: [ActionMicrosoftInput!]!): ID changeLogExport(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!], "Maximum allowed value is 1,000" budgetIds: [ID!], types: [ChangeLogType!], "Filter expression. Supported variables are 'timestamp: Timestamp!', 'client.name: String!, 'client.name: String!', 'user.name: String!', 'user.email: String!'" filter: String, "Whether to use user aliases for field names. Defaults to true." withAliasHeaders: Boolean): Export } type NGramConsole { adAccount: AdAccount! status: NGramConsoleStatus! } type NGramConsoleCampaignClickThroughRate implements NGramConsoleCampaignInterface { id: ID! name: String! canAddKeywords: Boolean! canAddNegativeKeywords: Boolean! target: BigDecimal benchmark: BigDecimal metrics: NGramConsoleCampaignMetrics! clickThroughRate: BigDecimal clickThroughRatePercentage: BigDecimal negativeKeywordLists: [NegativeKeywordList!]! } type NGramConsoleCampaignConvValueCost implements NGramConsoleCampaignInterface { id: ID! name: String! canAddKeywords: Boolean! canAddNegativeKeywords: Boolean! target: BigDecimal benchmark: BigDecimal metrics: NGramConsoleCampaignMetrics! convValueCost: BigDecimal convValueCostPercentage: BigDecimal costPerConversion: BigDecimal negativeKeywordLists: [NegativeKeywordList!]! } type NGramConsoleCampaignCostPerConversion implements NGramConsoleCampaignInterface { id: ID! name: String! canAddKeywords: Boolean! canAddNegativeKeywords: Boolean! target: BigDecimal benchmark: BigDecimal metrics: NGramConsoleCampaignMetrics! costPerConversion: BigDecimal costPerConversionPercentage: BigDecimal negativeKeywordLists: [NegativeKeywordList!]! } type NGramConsoleCampaignImpressions implements NGramConsoleCampaignInterface { id: ID! name: String! canAddKeywords: Boolean! canAddNegativeKeywords: Boolean! target: Long benchmark: Long metrics: NGramConsoleCampaignMetrics! impressions: Long impressionsPercentage: BigDecimal negativeKeywordLists: [NegativeKeywordList!]! } type NGramConsoleCampaignMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! } type NGramConsoleCampaignNGram { classification: NGramConsoleCampaignNGramClassification! campaign: NGramConsoleCampaign! ngram: String! ngramLength: Int! searchTermMatches: Int! containedInKeywords: [NGramConsoleCampaignNGramContainedInKeyword!]! days30: NGramConsoleCampaignNGramMetrics! days60: NGramConsoleCampaignNGramMetrics! days90: NGramConsoleCampaignNGramMetrics! days180: NGramConsoleCampaignNGramMetrics! days365: NGramConsoleCampaignNGramMetrics! } type NGramConsoleCampaignNGramClassificationIgnored implements NGramConsoleCampaignNGramClassificationInterface { type: SearchTermNGramConsoleClassification! } type NGramConsoleCampaignNGramClassificationLowData implements NGramConsoleCampaignNGramClassificationInterface { type: SearchTermNGramConsoleClassification! } type NGramConsoleCampaignNGramClassificationNoClicks implements NGramConsoleCampaignNGramClassificationInterface { type: SearchTermNGramConsoleClassification! } type NGramConsoleCampaignNGramClassificationPerformanceAverage implements NGramConsoleCampaignNGramClassificationInterface { type: SearchTermNGramConsoleClassification! } type NGramConsoleCampaignNGramClassificationPerformanceBad implements NGramConsoleCampaignNGramClassificationInterface { type: SearchTermNGramConsoleClassification! } type NGramConsoleCampaignNGramClassificationPerformanceGood implements NGramConsoleCampaignNGramClassificationInterface { type: SearchTermNGramConsoleClassification! } type NGramConsoleCampaignNGramClassificationSpendAverage implements NGramConsoleCampaignNGramClassificationInterface { type: SearchTermNGramConsoleClassification! } type NGramConsoleCampaignNGramClassificationSpendHigh implements NGramConsoleCampaignNGramClassificationInterface { type: SearchTermNGramConsoleClassification! } type NGramConsoleCampaignNGramClassificationSpendLow implements NGramConsoleCampaignNGramClassificationInterface { type: SearchTermNGramConsoleClassification! } type NGramConsoleCampaignNGramClassificationStoppedServing implements NGramConsoleCampaignNGramClassificationInterface { type: SearchTermNGramConsoleClassification! searchTermNegativeKeywordMatches: [NGramConsoleCampaignNGramStoppedServingNegativeKeywordMatch!] } type NGramConsoleCampaignNGramConnection { total: Long offsetInfo: OffsetInfo! nodes: [NGramConsoleCampaignNGram!]! } type NGramConsoleCampaignNGramContainedInKeyword { id: ID! keyword: String! matchType: KeywordMatchType! } type NGramConsoleCampaignNGramMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! clickThroughRate: BigDecimal conversionRate: BigDecimal convValueCost: BigDecimal costPerClick: BigDecimal costPerConversion: BigDecimal } type NGramConsoleCampaignNGramStoppedServingNegativeKeywordMatch { id: ID! keyword: String! matchType: KeywordMatchType! level: NGramConsoleCampaignNGramStoppedServingNegativeKeywordMatchLevel! } type NGramConsoleCampaignNGramStoppedServingNegativeKeywordMatchLevelAccount { list: NegativeKeywordList! } type NGramConsoleCampaignNGramStoppedServingNegativeKeywordMatchLevelAdGroup { adGroupId: ID! } type NGramConsoleCampaignNGramStoppedServingNegativeKeywordMatchLevelCampaign { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type NGramConsoleCampaignNGramStoppedServingNegativeKeywordMatchLevelSharedList { list: NegativeKeywordList! } type NGramConsoleConnection { total: Long offsetInfo: OffsetInfo! nodes: [NGramConsole!]! } type NGramConsoleStatusCompleted { scanId: ID! id: ID! completed: Instant! "The time when the data was fetched. Will be before completed if this was a rerun." dataFetched: Instant! totals: NGramConsoleTotals! } type NGramConsoleStatusDisabled { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type NGramConsoleStatusInitializing { started: Instant! @deprecated(reason: "not applicable to initializing, only for running and completed") } type NGramConsoleStatusPending { starts: Instant! } type NGramConsoleStatusRunning { started: Instant! current: NGramConsoleStatusCompleted! } type NGramConsoleStatusSnoozed { until: Instant! } type NGramConsoleSummary { "total number of imported ad accounts" total: Long! totals: NGramConsoleTotals! } type NGramConsoleTotals { stoppedServing: Int! performanceGood: Int! performanceAverage: Int! performanceBad: Int! lowData: Int! spendHigh: Int! spendAverage: Int! spendLow: Int! noClicks: Int! ignored: Int! } type NegativeKeywordAdGroupConnection { total: Long offsetInfo: OffsetInfo! nodes: [NegativeKeyword!]! } type NegativeKeywordAmazon implements NegativeKeywordInterface { platform: AdPlatform! id: ID! keyword: String! matchType: AmazonKeywordMatchType! } type NegativeKeywordGoogle implements NegativeKeywordInterface { platform: AdPlatform! id: ID! keyword: String! matchType: GoogleKeywordMatchType! } type NegativeKeywordList { platform: AdPlatform! id: ID! name: String! numKeywords: Long! } type NegativeKeywordMicrosoft implements NegativeKeywordInterface { platform: AdPlatform! id: ID! keyword: String! matchType: MicrosoftKeywordMatchType! } type Note { id: ID! note: String! timestamp: Instant! "User who created the note. Set to null when user has been removed." user: NoteUser client: NoteClient @deprecated(reason: "never set, will be removed in the future") adAccount: NoteAdAccount } type NoteAdAccount { id: ID! platform: AdPlatform! name: String! } type NoteClient { id: ID! name: String! } type NoteConnection { pageInfo: PageInfo! edges: [NoteConnectionEdge!]! } type NoteConnectionEdge { node: Note! cursor: String! } type NoteUser { id: ID! name: String! email: String! } type OffsetInfo { hasPreviousPage: Boolean! hasNextPage: Boolean! } type Organization { id: ID! name: String! countryCode: CountryCode! timeZone: TimeZone! status: OrganizationStatus! last30DaySpend: Currency! approxLast30DaySpendUSD: BigDecimal! } type OrganizationCredentialAmazon implements OrganizationCredentialInterface { platform: AdPlatform! id: ID! email: String! name: String! expires: Instant invalid: Instant } type OrganizationCredentialFacebook implements OrganizationCredentialInterface { platform: AdPlatform! id: ID! email: String name: String! expires: Instant invalid: Instant } type OrganizationCredentialGoogle implements OrganizationCredentialInterface { platform: AdPlatform! id: ID! email: String! name: String! expires: Instant invalid: Instant } type OrganizationCredentialGoogleMerchantCenter implements OrganizationMerchantCredentialInterface { id: ID! email: String! name: String! expires: Instant invalid: Instant } type OrganizationCredentialLinkedIn implements OrganizationCredentialInterface { platform: AdPlatform! id: ID! email: String! name: String! expires: Instant invalid: Instant } type OrganizationCredentialMicrosoft implements OrganizationCredentialInterface { platform: AdPlatform! id: ID! email: String name: String expires: Instant invalid: Instant } type OrganizationStatusActive { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type OrganizationStatusPastDue { since: Instant! } type OrganizationStatusSuspended { from: Instant! } type OrganizationStatusTrialExpired { ended: Instant! } type OrganizationStatusTrialing { ends: Instant! hasPaymentMethod: Boolean! } type PageInfo { hasPreviousPage: Boolean! hasNextPage: Boolean! startCursor: String! endCursor: String! } type PerformanceHighlightAdGroup { campaign: Campaign! adGroup: AdGroup! } type PerformanceHighlightAdGroupDecreaseBids implements PerformanceHighlightInterface { generated: Instant! adAccount: AdAccount! groups: [PerformanceHighlightAdGroup!]! } type PerformanceHighlightAdGroupIncreaseBids implements PerformanceHighlightInterface { generated: Instant! adAccount: AdAccount! groups: [PerformanceHighlightAdGroup!]! } type PerformanceHighlightAdGroupPause implements PerformanceHighlightInterface { generated: Instant! adAccount: AdAccount! groups: [PerformanceHighlightAdGroup!]! } type PerformanceHighlightAssetGroup { campaign: Campaign! id: ID! name: String! } type PerformanceHighlightAssetGroupPause implements PerformanceHighlightInterface { generated: Instant! adAccount: AdAccount! groups: [PerformanceHighlightAssetGroup!]! } type PerformanceHighlightAudience { campaign: Campaign! adGroup: AdGroup id: ID! name: String! type: String! } type PerformanceHighlightAudienceDecreaseBidAdjustment implements PerformanceHighlightInterface { generated: Instant! adAccount: AdAccount! audiences: [PerformanceHighlightAudience!]! } type PerformanceHighlightAudienceIncreaseBidAdjustment implements PerformanceHighlightInterface { generated: Instant! adAccount: AdAccount! audiences: [PerformanceHighlightAudience!]! } type PerformanceHighlightCampaignDecreaseBids implements PerformanceHighlightInterface { generated: Instant! adAccount: AdAccount! campaigns: [Campaign!]! } type PerformanceHighlightCampaignIncreaseBids implements PerformanceHighlightInterface { generated: Instant! adAccount: AdAccount! campaigns: [Campaign!]! } type PerformanceHighlightDevice { campaign: Campaign! deviceType: DeviceType! } type PerformanceHighlightDeviceDecreaseBidAdjustment implements PerformanceHighlightInterface { generated: Instant! adAccount: AdAccount! devices: [PerformanceHighlightDevice!]! } type PerformanceHighlightDeviceDecreaseBidAdjustmentMaximum implements PerformanceHighlightInterface { generated: Instant! adAccount: AdAccount! devices: [PerformanceHighlightDevice!]! } type PerformanceHighlightDeviceIncreaseBidAdjustment implements PerformanceHighlightInterface { generated: Instant! adAccount: AdAccount! devices: [PerformanceHighlightDevice!]! } type PerformanceHighlightKeyword { campaign: Campaign! adGroup: AdGroup! id: ID! keyword: String! matchType: KeywordMatchType! } type PerformanceHighlightKeywordPause implements PerformanceHighlightInterface { generated: Instant! adAccount: AdAccount! keywords: [PerformanceHighlightKeyword!]! } type PerformanceHighlightNGram { campaign: Campaign! ngram: String! } type PerformanceHighlightNGramAddKeyword implements PerformanceHighlightInterface { generated: Instant! adAccount: AdAccount! ngrams: [PerformanceHighlightNGram!]! } type PerformanceHighlightNGramAddNegativeKeyword implements PerformanceHighlightInterface { generated: Instant! adAccount: AdAccount! ngrams: [PerformanceHighlightNGram!]! } type PerformanceHighlightPublisher { campaign: Campaign! adGroup: AdGroup! publisher: PublisherConsoleCampaignAdGroupPublisherPublisher! } type PerformanceHighlightPublisherExclude implements PerformanceHighlightInterface { generated: Instant! adAccount: AdAccount! publishers: [PerformanceHighlightPublisher!]! } type PerformanceHighlightSearchTerm { campaign: Campaign! searchTerm: String! } type PerformanceHighlightSearchTermAddKeyword implements PerformanceHighlightInterface { generated: Instant! adAccount: AdAccount! searchTerms: [PerformanceHighlightSearchTerm!]! } type PerformanceHighlightSearchTermAddNegativeKeyword implements PerformanceHighlightInterface { generated: Instant! adAccount: AdAccount! searchTerms: [PerformanceHighlightSearchTerm!]! } type PerformanceIssuesConsole { adAccount: AdAccount! assetGroups: AssetGroupConsoleStatus! keywords: KeywordConsoleStatus! ngrams: NGramConsoleStatus! products: ProductConsoleStatus! searchTerms: SearchTermConsoleStatus! } type PerformanceIssuesConsoleConnection { total: Long offsetInfo: OffsetInfo! nodes: [PerformanceIssuesConsole!]! } type PlatformRecommendation { type: String! impact: InsightPlatformRecommendationsImpact! recommendationIds: [ID!]! } type PreviousBidAdjustmentGoogle { value: BigDecimal! lastChanged: Instant! } type PreviousBidAdjustmentMicrosoftFixedValue { amount: Float! lastChanged: Instant! } type PreviousBidAdjustmentMicrosoftMultiplier { value: BigDecimal! lastChanged: Instant! } type ProductConsole { adAccount: AdAccount! status: ProductConsoleStatus! } type ProductConsoleConnection { total: Long offsetInfo: OffsetInfo! nodes: [ProductConsole!]! } type ProductConsoleProduct { classification: ProductConsoleProductClassification! merchantId: MerchantId! id: ID! title: String! price: Currency category: ProductConsoleProductCategory! days30: ProductConsoleProductMetrics! days60: ProductConsoleProductMetrics! days90: ProductConsoleProductMetrics! days180: ProductConsoleProductMetrics! days365: ProductConsoleProductMetrics! days30OneYearAgo: ProductConsoleProductMetrics! groups: [ProductConsoleProductGroup!] } type ProductConsoleProductCategory { levels: [String!]! metrics: ProductConsoleProductCategoryMetrics! } type ProductConsoleProductCategoryMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! clickThroughRate: BigDecimal conversionRate: BigDecimal convValueCost: BigDecimal costPerClick: BigDecimal costPerConversion: BigDecimal } type ProductConsoleProductClassificationIgnored implements ProductConsoleProductClassificationInterface { type: ProductConsoleClassification! } type ProductConsoleProductClassificationIssueDisapproved { reason: String! } type ProductConsoleProductClassificationIssueExpires { at: Instant! } type ProductConsoleProductClassificationIssues implements ProductConsoleProductClassificationInterface { type: ProductConsoleClassification! issues: [ProductConsoleProductClassificationIssue!] } type ProductConsoleProductClassificationLowData implements ProductConsoleProductClassificationInterface { type: ProductConsoleClassification! } type ProductConsoleProductClassificationNoClicks implements ProductConsoleProductClassificationInterface { type: ProductConsoleClassification! } type ProductConsoleProductClassificationPerformanceAverage implements ProductConsoleProductClassificationInterface { type: ProductConsoleClassification! } type ProductConsoleProductClassificationPerformanceBad implements ProductConsoleProductClassificationInterface { type: ProductConsoleClassification! } type ProductConsoleProductClassificationPerformanceGood implements ProductConsoleProductClassificationInterface { type: ProductConsoleClassification! } type ProductConsoleProductClassificationSpendAverage implements ProductConsoleProductClassificationInterface { type: ProductConsoleClassification! } type ProductConsoleProductClassificationSpendHigh implements ProductConsoleProductClassificationInterface { type: ProductConsoleClassification! } type ProductConsoleProductClassificationSpendLow implements ProductConsoleProductClassificationInterface { type: ProductConsoleClassification! } type ProductConsoleProductConnection { total: Long offsetInfo: OffsetInfo! nodes: [ProductConsoleProduct!]! } type ProductConsoleProductGroupAdGroup { campaignId: ID! id: ID! name: String days365: ProductConsoleProductMetrics! } type ProductConsoleProductGroupAssetGroup { campaignId: ID! id: ID! name: String days365: ProductConsoleProductMetrics! } type ProductConsoleProductMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! clickThroughRate: BigDecimal conversionRate: BigDecimal convValueCost: BigDecimal costPerClick: BigDecimal costPerConversion: BigDecimal } type ProductConsoleStatusCompleted { scanId: ID! id: ID! completed: Instant! "The time when the data was fetched. Will be before completed if this was a rerun." dataFetched: Instant! totalsV2: ProductConsoleV2! } type ProductConsoleStatusDisabled { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type ProductConsoleStatusInitializing { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type ProductConsoleStatusPending { starts: Instant! } type ProductConsoleStatusRunning { started: Instant! current: ProductConsoleStatusCompleted! } type ProductConsoleStatusSnoozed { until: Instant! } type ProductConsoleSummary { totalsV2: ProductConsoleV2! "total number of ad accounts attached to merchants" total: Long! } type ProductConsoleV2 { performanceGood: Int! performanceAverage: Int! performanceBad: Int! lowData: Int! spendHigh: Int! spendAverage: Int! spendLow: Int! issues: Int! ignored: Int! noClicks: Int! } type PublisherConsole { adAccount: AdAccount! status: PublisherConsoleStatus! } type PublisherConsoleCampaignAdGroupPublisher { classification: PublisherConsoleClassification! campaign: PublisherConsoleCampaign! adGroup: PublisherConsoleCampaignAdGroupPublisherAdGroup! publisher: PublisherConsoleCampaignAdGroupPublisherPublisher! days30: PublisherConsoleCampaignAdGroupPublisherMetrics! days60: PublisherConsoleCampaignAdGroupPublisherMetrics! days90: PublisherConsoleCampaignAdGroupPublisherMetrics! days180: PublisherConsoleCampaignAdGroupPublisherMetrics! days365: PublisherConsoleCampaignAdGroupPublisherMetrics! } type PublisherConsoleCampaignAdGroupPublisherAdGroup { id: ID! name: String! } type PublisherConsoleCampaignAdGroupPublisherConnection { total: Long offsetInfo: OffsetInfo! nodes: [PublisherConsoleCampaignAdGroupPublisher!]! } type PublisherConsoleCampaignAdGroupPublisherMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! clickThroughRate: BigDecimal conversionRate: BigDecimal convValueCost: BigDecimal costPerClick: BigDecimal costPerConversion: BigDecimal } type PublisherConsoleCampaignAdGroupPublisherPublisherFacebook implements PublisherConsoleCampaignAdGroupPublisherPublisherInterface { type: PublisherType! id: ID! name: String! platform: FacebookAdsPlacementPlatform! position: FacebookAdsPlacementPosition! } type PublisherConsoleCampaignAdGroupPublisherPublisherWebsite implements PublisherConsoleCampaignAdGroupPublisherPublisherInterface { type: PublisherType! id: ID! domain: String! } type PublisherConsoleCampaignClickThroughRate implements PublisherConsoleCampaignInterface { id: ID! identifier: Long! name: String! target: BigDecimal benchmark: BigDecimal metrics: PublisherConsoleCampaignMetrics! clickThroughRate: BigDecimal clickThroughRatePercentage: BigDecimal } type PublisherConsoleCampaignConvValueCost implements PublisherConsoleCampaignInterface { id: ID! identifier: Long! name: String! target: BigDecimal benchmark: BigDecimal metrics: PublisherConsoleCampaignMetrics! convValueCost: BigDecimal convValueCostPercentage: BigDecimal costPerConversion: BigDecimal } type PublisherConsoleCampaignCostPerConversion implements PublisherConsoleCampaignInterface { id: ID! identifier: Long! name: String! target: BigDecimal benchmark: BigDecimal metrics: PublisherConsoleCampaignMetrics! costPerConversion: BigDecimal costPerConversionPercentage: BigDecimal } type PublisherConsoleCampaignImpressions implements PublisherConsoleCampaignInterface { id: ID! identifier: Long! name: String! target: Long benchmark: Long metrics: PublisherConsoleCampaignMetrics! impressions: Long impressionsPercentage: BigDecimal } type PublisherConsoleCampaignMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! } type PublisherConsoleConnection { total: Long offsetInfo: OffsetInfo! nodes: [PublisherConsole!]! } type PublisherConsoleStatusCompleted { scanId: ID! id: ID! completed: Instant! "The time when the data was fetched. Will be before completed if this was a rerun." dataFetched: Instant! totals: PublisherConsoleTotals! } type PublisherConsoleStatusDisabled { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type PublisherConsoleStatusInitializing { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type PublisherConsoleStatusPending { starts: Instant! } type PublisherConsoleStatusRunning { started: Instant! current: PublisherConsoleStatusCompleted! } type PublisherConsoleStatusSnoozed { until: Instant! } type PublisherConsoleSummary { totals: PublisherConsoleTotals! "total number of imported ad accounts" total: Long! } type PublisherConsoleTotals { performanceGood: Int! performanceAverage: Int! performanceBad: Int! lowData: Int! spendHigh: Int! spendAverage: Int! spendLow: Int! noClicks: Int! ignored: Int! } "A list for excluding publishers at an ad account level" type PublisherExclusionList { id: ID! name: String! itemCount: Long! adAccount: AdAccount! } type Queries { stripe: Stripe stripePrices: [StripeAdpulsePrice!] "Returns all users in your organization" users("Maximum allowed value is 10,000" offset: Int, "Maximum allowed value is 1000" limit: Int): UserConnection userInvitations(statuses: [UserInvitationFilterStatus!], "Maximum allowed value is 10,000" offset: Int, "Maximum allowed value is 1000" limit: Int): UserInvitationConnection userCurrent: UserCurrent alerts(archived: Boolean, resolved: Boolean, types: [AlertType!], platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "Maximum allowed value is 1,000" budgetIds: [ID!], "Maximum allowed value is 1,000" budgetAlertDefinitionIds: [ID!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Filter expression. Supported variables are 'lastOccurred', 'budget.name', 'budgetAlert.name', 'budgetAlert.metric'" filter: String, "Maximum allowed value is 500" last: Int, before: String, "Maximum allowed value is 500" first: Int, after: String): AlertConnection "Number of 'active' alerts by type. An alert is 'active' if it is not resolved or archived." alertsActiveCounts(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!]): AlertActiveCounts alertsLatest200: [Alert!] alertsSummary(types: [AlertType!], platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "Maximum allowed value is 1,000" budgetIds: [ID!], "Maximum allowed value is 1,000" budgetAlertDefinitionIds: [ID!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Filter expression. Supported variables are 'lastOccurred', 'budget.name', 'budgetAlert.name', 'budgetAlert.metric'" filter: String): AlertSummary tags("Filter expression. Supported variables are 'name' and 'description'" filter: String, ids: [ID!], "Maximum allowed value is 10,000" offset: Int, "Maximum allowed value is 1,000" limit: Int): TagConnection "Returns all credentials attached to your organization" credentials: [OrganizationCredential!] credentialsMerchant: [OrganizationMerchantCredential!] credentialSyncStatus(id: ID!, runId: ID!): CredentialSyncRunStatus "Returns ad accounts accessible via the credentials attached to your organization" accessibleAdAccounts("Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "Filter expression. Supported variables are 'name' [String], 'id' [ID], 'platform' [AdPlatform], 'linked.inserted' [Timestamp], 'isLinked' [Boolean], 'manager' [Boolean] and 'secondary_id' [String]" filter: String, "Order the results by providing pairs of columns and sort directions" order: [AccessibleAdAccountConnectionOrder!], "Maximum allowed value is 10,000" offset: Int, "Maximum allowed value is 500" limit: Int): AccessibleAdAccounts "Returns managers of an accessible ad account" accessibleAdAccountManagers(platform: AdPlatform!, id: String!): [AccessibleAdAccountManagers!] "Returns managers accessible through the specified credential. Only Microsoft credentials are supported currently." accessibleAdAccountsManagerForCredential("Credential id linking to managers." credentialId: ID!, "Filter expression. Supported variables are 'name' and 'secondary_id'." filter: String, "Order the results by providing pairs of columns and sort directions" order: [AccessibleAdAccountManagerConnectionOrder!], "Maximum allowed value is 10,000" offset: Int, "Maximum allowed value is 500" limit: Int): ManagerAccessibleAdAccountsConnection "Find MSA users associated with a MSA customer (manager)." microsoftCustomerSignupUsers(credentialId: ID!, customerId: ID!): [MicrosoftCustomerSignupUser!] "Validates an address for a microsoft customer signup operation" microsoftCustomerSignupValidateAddress(business: MicrosoftCustomerSignupBusinessInput!): MicrosoftCustomerSignupValidateAddressResult "Returns a linked ad account by its id" adAccount(id: AdAccountIdInput!): AdAccount adAccounts(platforms: [AdPlatform!], "Maximum allowed value is 1,000" ids: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!], "Filter expression. Supported variables are 'platform', 'id', 'name' and 'secondary_id'" filter: String, "Order the results by providing pairs of columns and sort directions" order: [AdAccountConnectionOrder!], "Maximum allowed value is 10,000" offset: Int, "Maximum allowed value is 500" limit: Int): AdAccountConnection adAccountSyncStatus(id: AdAccountIdInput!, runId: ID!): AdAccountSyncRunStatus adAccountInsightAlertDefinition(id: ID!): AdAccountInsightAlertDefinition adAccountInsightAlertDefinitionSelectedAccounts(id: ID!, "Order the results by providing pairs of columns and sort directions" order: [AdAccountConnectionOrder!], "Maximum allowed value is 10,000" offset: Int, "Maximum allowed value is 500" limit: Int): AdAccountInsightAlertDefinitionSelectedAdAccountsConnection adAccountInsightAlertDefinitions("The maximum number of values is 1,000" adAccountIds: [AdAccountIdInput!], "Maximum allowed value is 10,000" offset: Int, "Maximum allowed value is 1,000" limit: Int): AdAccountInsightAlertDefinitionConnection adAccountInsightAlertDefinitionSelectorPreview(selector: AdAccountInsightAlertDefinitionSelectorInput!, "Order the results by providing pairs of columns and sort directions" order: [AdAccountConnectionOrder!], "Maximum allowed value is 10,000" offset: Int, "Maximum allowed value is 1,000" limit: Int): AdAccountConnection "Returns the client for the given id" client(id: ID!): Client clients("Filter expression. Supported variables are 'name', 'budgets.length' and 'accounts.length'" filter: String, "Maximum allowed value is 10,000" offset: Int, "Maximum allowed value is 250" limit: Int): ClientConnection contacts("Maximum allowed value is 10,000" offset: Int, "Maximum allowed value is 1,000" limit: Int): ContactConnection budget__new(budgetId: ID!): Budget__new budgets__new(isClientAllSelectedBudget: Boolean, platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!], "The maximum number of values is 1,000" budgetIds: [ID!], adAccountNameContains: String, "Filter expression. Supported variables are 'name: String!', 'pacing.under: Boolean!', 'pacing.above: Boolean!', 'kpi.below: Boolean!', 'kpi.above: Boolean!'" filter: String, "Order the results by providing pairs of columns and sort directions" order: [BudgetConnectionOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): BudgetConnection__new budgetCampaignBudgets(budgetId: ID!, recommendationId: ID, statuses: [Status!], statusesV2: [StatusV2!], "Filter expression. Supported variables are 'platform', 'adAccountId', 'id', 'name', 'status', 'statusV2', 'budget.name', 'campaign.id', 'campaign.name', 'adGroup.id', 'adGroup.name', 'locked'" filter: String, "Order the results by providing pairs of columns and sort directions" order: [BudgetCampaignBudgetConnectionOrder!], "Maximum allowed value is 10,000" offset: Int, "Maximum allowed value is 500" limit: Int): BudgetCampaignBudgetConnection budgetHistorySummary("The maximum number of values is 500" budgetIds: [ID!]!, "The time zone to use to determine what yesterday is. Defaults to the users time zone falling back to the organization time zone if not provided." timeZone: TimeZone, period: BudgetHistorySummaryPeriod!): [BudgetHistorySummary!] budgetPreviewAdjustments(budgetPreviewAdjustmentsId: ID!): BudgetPreviewAdjustments budgetPreviewConflicts(budgetPreviewConflictsId: ID!): BudgetPreviewConflicts budgetTree(platforms: [AdPlatform!], "Maximum number of values is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!], adAccountNameContains: String, "Filter expression. Supported variables are 'name: String!'" filter: String, "Order the results by providing pairs of columns and sort directions" order: [BudgetTreeConnectionOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 100" limit: Int): BudgetTreeConnection "Only exists to provide BudgetNewSchedule types" _budgetScheduleNew: [BudgetNewSchedule!] "Only exists to provide BudgetScheduleModification types" _budgetScheduleModification: [BudgetScheduleModification!] budgetAlertDefinition(id: ID!): BudgetAlertDefinition budgetAlertDefinitions("The maximum number of values is 1,000" budgetIds: [ID!], "Maximum allowed value is 10,000" offset: Int, "Maximum allowed value is 1,000" limit: Int): BudgetAlertDefinitionConnection budgetAlertDefinitionSelectedBudgets(id: ID!, "Order the results by providing pairs of columns and sort directions" order: [BudgetAlertDefinitionSelectedBudgetsConnectionOrder!], "Maximum allowed value is 10,000" offset: Int, "Maximum allowed value is 500" limit: Int): BudgetAlertDefinitionSelectedBudgetsConnection budgetAlertDefinitionSelectorPreview(selector: BudgetAlertDefinitionSelectorInput!, "Maximum allowed value is 10,000" offset: Int, "Maximum allowed value is 1,000" limit: Int): BudgetConnection__new budgetPerformanceCards("maximum of 100" budgetIds: [ID!]!): [BudgetPerformanceCardsForBudget!] budgetTemplate(budgetTemplateId: ID!): BudgetTemplate budgetTemplates: [BudgetTemplate!] campaigns("Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], statuses: [Status!], statusesV2: [StatusV2!], "Filter expression. Supported variables are 'name: String', `type: String`, 'can_add_keyword: Boolean', 'can_add_negative_keyword: Boolean'" filter: String, "Order the results by providing pairs of columns and sort directions" order: [CampaignConnectionOrder!], "Maximum allowed value is 20,000" offset: Int, "Maximum allowed value is 1,000" limit: Int): CampaignConnection campaignBudgets("The maximum number of values is 1,000" adAccountIds: [AdAccountIdInput!], "The maximum number of values is 1,000" campaignBudgetIds: [CampaignBudgetConnectionArgCampaignBudgetIdInput!], selectedByGroup: ID, statuses: [Status!], statusesV2: [StatusV2!], "Filter expression. Supported variables are 'platform: AdPlatform', 'adAccountId: ID', 'id: ID', 'name: String', 'budget.name: String', 'campaign.id: ID', 'campaign.name: String', 'campaign.type: String', 'adGroup.id: ID', 'adGroup.name: String'" filter: String, "Order the results by providing pairs of columns and sort directions" order: [CampaignBudgetConnectionOrder!], "Maximum allowed value is 10,000" offset: Int, "Maximum allowed value is 500" limit: Int): CampaignBudgetConnection campaignBudgetGroup(groupId: ID!): CampaignBudgetGroup campaignBudgetGroups("Maximum allowed value is 10,000" offset: Int, "Maximum allowed value is 500" limit: Int): CampaignBudgetGroupConnection campaignBudgetGroupPreviewConflicts(campaignBudgetGroupPreviewConflictsId: ID!): CampaignBudgetGroupPreviewConflicts campaignBudgetGroupDailyMetrics(budgetId: ID, groupId: ID, days: Int!, currencyCode: CurrencyCode!): [CampaignBudgetGroupDailyMetrics!] adGroups(adAccountId: AdAccountIdInput!, campaignIds: [ID!], statuses: [Status!], statusesV2: [StatusV2!], "Filter expression. Supported variables are 'name: String'" filter: String, "Order the results by providing pairs of columns and sort directions" order: [AdGroupConnectionOrder!], "Maximum allowed value is 20,000" offset: Int, "Maximum allowed value is 1,000" limit: Int): AdGroupConnection keywords(adAccountId: AdAccountIdInput!, campaignId: ID!, adGroupId: ID!, "Filter expression. Supported variables are 'keyword: String', 'active: Boolean'" filter: String, "Maximum allowed value is 10,000" offset: Int, "Maximum allowed value is 500" limit: Int): KeywordConnection keywordsAdAccount(adAccountId: AdAccountIdInput!, keyword: String!): [Keyword!] keywordsExtraFromAdGroup(adAccountId: AdAccountIdInput!, campaignId: ID!, adGroupId: ID!): [KeywordExtra!] negativeKeywordsAdGroup(adAccountId: AdAccountIdInput!, campaignId: ID!, adGroupId: ID!, "Filter expression. Supported variables are 'keyword: String'" filter: String, "Maximum allowed value is 10,000" offset: Int, "Maximum allowed value is 500" limit: Int): NegativeKeywordAdGroupConnection metricChangeAlertDefinition(id: ID!): MetricChangeAlertDefinition metricChangeAlertDefinitions(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!]): [MetricChangeAlertDefinition!] metricChangeAlertDefinitionLinkedAdAccounts(id: ID!, "Order the results by providing pairs of columns and sort directions" order: [MetricChangeAlertDefinitionLinkedAdAccountOrder!], "Maximum allowed value is 10,000" offset: Int, "Maximum allowed value is 500" limit: Int): MetricChangeAlertDefinitionLinkedAdAccountsConnection hubSpotIntegrations: [HubSpotIntegration!] merchantProducts(merchantIds: [MerchantIdInput!], "Filter expression. Supported variables are 'title: String'" filter: String, "Order the results by providing pairs of columns and sort directions" order: [MerchantProductConnectionOrder!], "Maximum allowed value is 10,000" offset: Int, "Maximum allowed value is 500" limit: Int): MerchantProductConnection notes("Maximum allowed value is 1,000" userIds: [ID!], platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!], "Filter expression. Supported variables are 'note: String!', 'timestamp: Timestamp!', 'user.name: String!', 'user.email: String!'" filter: String, "Maximum allowed value is 500" last: Int, before: String, "Maximum allowed value is 500" first: Int, after: String): NoteConnection scanDefinitions: [ScanDefinition!] scan(scanId: ID!): Scan scans("Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): ScanConnection insightLatest(scanId: ID!, subType: String!): InsightDetailed "Automatically filters insights to only return ones explicitly requested via spreading. Each insight spread must query at least one field for the insight to be returned." insights(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "Maximum allowed value is 1,000" budgetIds: [ID!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], types: [ScanType!], categories: [InsightCategory!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): InsightConnection insightsCountByCategory(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Maximum allowed value is 1,000" budgetIds: [ID!], types: [ScanType!], categories: [InsightCategory!]): InsightCategoryCounts insightsCountByType(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Maximum allowed value is 1,000" budgetIds: [ID!], types: [ScanType!], categories: [InsightCategory!]): InsightTypeCounts actionRunInfo(id: ID!): ActionRun "Only exists to provide ActionAmazon types" _actionAmazon: [ActionAmazon!] "Only exists to provide ActionFacebook types" _actionFacebook: [ActionFacebook!] "Only exists to provide ActionGoogle types" _actionGoogle: [ActionGoogle!] "Only exists to provide ActionLinkedIn types" _actionLinkedIn: [ActionLinkedIn!] "Only exists to provide ActionMicrosoft types" _actionMicrosoft: [ActionMicrosoft!] adGroupConsole(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!], "Filter expression. Supported variables are 'platform', 'id' and 'name'" filter: String, "Order the results by providing pairs of columns and sort directions" order: [AdGroupConsoleOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): AdGroupConsoleConnection adGroupConsoleCampaignAdGroups(id: ID!, classifications: [AdGroupConsoleClassification!], "Maximum size is 250" identifiers: [AdGroupConsoleCampaignAdGroupIdentifierInput!], "Filter expression. Supported variables are 'campaign.name: String', 'ad_group.name: String' and the 'day_*' order keys." filter: String, "Order the results by providing pairs of columns and sort directions" order: [AdGroupConsoleCampaignAdGroupOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): AdGroupConsoleCampaignAdGroupConnection adGroupConsoleCampaignAdGroupTotals(id: ID!, "Filter expression. Supported variables are 'campaign.name: String', 'ad_group.name: String' and the 'day_*' order keys." filter: String): AdGroupConsoleTotals assetGroupConsole(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!], "Filter expression. Supported variables are 'platform', 'id' and 'name'" filter: String, "Order the results by providing pairs of columns and sort directions" order: [AssetGroupConsoleOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): AssetGroupConsoleConnection assetGroupConsoleCampaignAssetGroups(id: ID!, resultType: AssetGroupConsoleResultType!, classifications: [AssetGroupConsoleClassification!], identifiers: [AssetGroupConsoleCampaignAssetGroupIdentifierInput!], "Filter expression. Supported variables are 'campaign.name: String', 'asset_group.name: String' and the 'day_*' order keys." filter: String, "Order the results by providing pairs of columns and sort directions" order: [AssetGroupConsoleCampaignAssetGroupOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): AssetGroupConsoleCampaignAssetGroupConnection assetGroupConsoleCampaignAssetGroupTotals(id: ID!, resultType: AssetGroupConsoleResultType!, "Filter expression. Supported variables are 'campaign.name: String', 'asset_group.name: String' and the 'day_*' order keys." filter: String): AssetGroupConsoleTotals audienceConsole(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!], "Filter expression. Supported variables are 'platform', 'id' and 'name'" filter: String, "Order the results by providing pairs of columns and sort directions" order: [AudienceConsoleOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): AudienceConsoleConnection audienceConsoleAudiences(id: ID!, classifications: [AudienceConsoleClassification!], "Maximum size is 250" identifiers: [AudienceConsoleAudienceIdentifierInput!], "Filter expression. Supported variables are 'campaign.name: String', 'ad_group.name: String', 'audience.name: String' and the 'day_*' order keys." filter: String, "Order the results by providing pairs of columns and sort directions" order: [AudienceConsoleCampaignAdGroupAudienceOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): AudienceConsoleAudienceConnection audienceConsoleAudienceTotals(id: ID!, "Filter expression. Supported variables are 'campaign.name: String', 'ad_group.name: String', 'audience.name: String' and the 'day_*' order keys." filter: String): AudienceConsoleTotals audiences(adAccountId: AdAccountIdInput!, "Filter expression. Only 'name' is a supported variable" filter: String, "Maximum allowed value is 10,000" offset: Int, "Maximum allowed value is 1000" limit: Int): AudienceConnection audienceManager(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!], "Filter expression. Supported variables are 'platform', 'id' and 'name'" filter: String, "Order the results by providing pairs of columns and sort directions" order: [AudienceManagerOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): AudienceManagerConnection audienceManagerCampaignAdGroups(id: ID!, classifications: [AudienceManagerClassification!], "Maximum size is 250" identifiers: [AudienceManagerCampaignAdGroupIdentifierInput!], "Filter expression. Supported variables are 'campaign.name: String', 'ad_group.name: String' and the 'day_*' order keys." filter: String, "Order the results by providing pairs of columns and sort directions" order: [AudienceManagerCampaignAdGroupAudienceOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): AudienceManagerCampaignAdGroupConnection audienceManagerTotals(id: ID!, "Filter expression. Supported variables are 'campaign.name: String', 'ad_group.name: String' and the 'day_*' order keys." filter: String): AudienceManagerTotals campaignConsole(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!], "Filter expression. Supported variables are 'platform', 'id' and 'name'" filter: String, "Order the results by providing pairs of columns and sort directions" order: [CampaignConsoleOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): CampaignConsoleConnection campaignConsoleCampaigns(id: ID!, classifications: [CampaignConsoleClassification!], "Maximum size is 250" identifiers: [ID!], "Filter expression. Supported variables are 'campaign.name: String' and the 'day_*' order keys." filter: String, "Order the results by providing pairs of columns and sort directions" order: [CampaignConsoleCampaignOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): CampaignConsoleCampaignConnection campaignConsoleCampaignTotals(id: ID!, "Filter expression. Supported variables are 'campaign.name: String' and the 'day_*' order keys." filter: String): CampaignConsoleTotals deviceConsole(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!], "Filter expression. Supported variables are 'platform', 'id' and 'name'" filter: String, "Order the results by providing pairs of columns and sort directions" order: [DeviceConsoleOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): DeviceConsoleConnection deviceConsoleCampaignDevices(id: ID!, resultType: DeviceConsoleResultType!, classifications: [DeviceConsoleClassification!], "Maximum size is 250" identifiers: [DeviceConsoleCampaignDeviceIdentifierInput!], "Filter expression. Supported variables are 'campaign.name: String', 'device: String' and the 'day_*' order keys." filter: String, "Order the results by providing pairs of columns and sort directions" order: [DeviceConsoleCampaignDeviceOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): DeviceConsoleCampaignDeviceConnection deviceConsoleCampaignDeviceTotals(id: ID!, resultType: DeviceConsoleResultType!, "Filter expression. Supported variables are 'campaign.name: String', 'device: String' and the 'day_*' order keys." filter: String): DeviceConsoleTotals keywordConsole(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!], "Filter expression. Supported variables are 'platform', 'id' and 'name'" filter: String, "Order the results by providing pairs of columns and sort directions" order: [KeywordConsoleOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): KeywordConsoleConnection keywordConsoleCampaignAdGroupKeywords(id: ID!, resultType: KeywordConsoleResultType!, classifications: [KeywordConsoleClassification!], "Maximum size is 250" identifiers: [KeywordConsoleCampaignAdGroupKeywordIdentifierInput!], "Filter expression. Supported variables are 'campaign.name: String', 'ad_group.name: String', 'keyword: String' and the 'day_*' order keys." filter: String, "Order the results by providing pairs of columns and sort directions" order: [KeywordConsoleCampaignAdGroupKeywordOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): KeywordConsoleCampaignAdGroupKeywordConnection keywordConsoleCampaignAdGroupKeywordsV2(id: ID!, resultType: KeywordConsoleResultType!, classifications: [KeywordConsoleClassification!], "Maximum size is 250" identifiers: [KeywordConsoleCampaignAdGroupKeywordIdentifierInput!], "Filter expression. Supported variables are 'campaign.name: String', 'ad_group.name: String', 'keyword: String' and the 'day_*' order keys." filter: String, "Order the results by providing pairs of columns and sort directions" order: [KeywordConsoleCampaignAdGroupKeywordOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): KeywordConsoleCampaignAdGroupKeywordV2Connection keywordConsoleCampaignAdGroupKeywordTotals(id: ID!, resultType: KeywordConsoleResultType!, "Filter expression. Supported variables are 'campaign.name: String', 'ad_group.name: String', 'keyword: String' and the 'day_*' order keys." filter: String): KeywordConsoleTotals ngramConsole(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!], "Filter expression. Supported variables are 'platform', 'id' and 'name'" filter: String, "Order the results by providing pairs of columns and sort directions" order: [NGramConsoleOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): NGramConsoleConnection ngramConsoleCampaignNGrams(id: ID!, classifications: [SearchTermNGramConsoleClassification!], "Maximum size is 250" identifiers: [NGramConsoleCampaignNGramIdentifierInput!], "If set to 'true' only return n-grams that are contained in at least one active keyword" containedInKeyword: Boolean, "Filter expression. Supported variables are 'campaign.name: String', 'ngram.text: String', 'ngram.length: Int', 'ngram.search_term_matches: Int' and the 'day_*' order keys." filter: String, "Order the results by providing pairs of columns and sort directions" order: [NGramConsoleCampaignNGramOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): NGramConsoleCampaignNGramConnection ngramConsoleCampaignNGramTotals(id: ID!, "Filter expression. Supported variables are 'campaign.name: String', 'ad_group.name: String', 'keyword: String' and the 'day_*' order keys." filter: String): NGramConsoleTotals productConsole(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!], "Filter expression. Supported variables are 'platform', 'id' and 'name'" filter: String, "Order the results by providing pairs of columns and sort directions" order: [ProductConsoleOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): ProductConsoleConnection productConsoleProducts(id: ID!, classifications: [ProductConsoleClassification!], "Maximum size is 250" identifiers: [ProductConsoleProductIdentifierInput!], "Filter expression. Supported variables are 'id: String', 'title: String' and the 'day_*' order keys." filter: String, "Order the results by providing pairs of columns and sort directions" order: [ProductConsoleProductOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): ProductConsoleProductConnection productConsoleProductTotals(id: ID!, "Filter expression. Supported variables are 'id: String', 'title: String' and the 'day_*' order keys." filter: String): ProductConsoleV2 publisherConsole(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!], "Filter expression. Supported variables are 'platform', 'id' and 'name'" filter: String, "Order the results by providing pairs of columns and sort directions" order: [PublisherConsoleOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): PublisherConsoleConnection publisherConsoleCampaignAdGroupPublishers(id: ID!, classifications: [PublisherConsoleClassification!], "Maximum size is 250" identifiers: [PublisherConsoleCampaignAdGroupPublisherIdentifierInput!], "Filter expression. Supported variables are 'campaign.name: String', 'ad_group.name: String', 'publisher.domain: String' and the 'day_*' order keys." filter: String, "Order the results by providing pairs of columns and sort directions" order: [PublisherConsoleCampaignAdGroupPublisherOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): PublisherConsoleCampaignAdGroupPublisherConnection publisherConsoleCampaignAdGroupPublisherTotals(id: ID!, "Filter expression. Supported variables are 'campaign.name: String', 'ad_group.name: String', 'publisher.domain: String' and the 'day_*' order keys." filter: String): PublisherConsoleTotals publisherExclusionLists(platform: AdPlatform!, id: String!): [PublisherExclusionList!] searchTermConsole(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!], "Filter expression. Supported variables are 'platform', 'id' and 'name'" filter: String, "Order the results by providing pairs of columns and sort directions" order: [SearchTermConsoleOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): SearchTermConsoleConnection searchTermConsoleCampaignSearchTerms(id: ID!, classifications: [SearchTermConsoleClassification!], "Maximum size is 250" identifiers: [SearchTermConsoleCampaignSearchTermIdentifierInput!], "Filter expression. Supported variables are 'campaign: String', 'search_term: String' and the 'day_*' order keys." filter: String, "Order the results by providing pairs of columns and sort directions" order: [SearchTermConsoleCampaignSearchTermOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): SearchTermConsoleCampaignSearchTermConnection searchTermConsoleCampaignSearchTermTotals(id: ID!, "Filter expression. Supported variables are 'campaign: String', 'search_term: String' and the 'day_*' order keys." filter: String): SearchTermConsoleTotalsV2 "Fetch ad groups that belong to a campaign. The search term determines whether the `attachedToSearchTerm` field is set." searchTermConsoleAdGroups("search term console id" id: ID!, campaignId: ID!, searchTerm: String!, "Filter expression. Supported variables are 'name: String', 'active: Boolean', 'search_term_attached: Boolean', 'can_add_keyword: Boolean'" filter: String, "Order the results by providing pairs of columns and sort directions" order: [SearchTermConsoleCampaignAdGroupOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): SearchTermConsoleCampaignAdGroupConnection searchTermCloseVariantsConsole(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!], "true to return metrics only for campaigns classified as brand, false to return metrics only for campaigns not classified as brand, null to return metrics for all campaigns" brand: Boolean, "Filter expression. Supported variables are 'platform', 'id' and 'name'" filter: String, "Order the results by providing pairs of columns and sort directions" order: [SearchTermCloseVariantsConsoleOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): SearchTermCloseVariantsConsoleConnection searchTermCloseVariantsConsoleOverviewCampaigns(id: ID!, "Maximum number of 1,000" campaignIds: [ID!], "Filter expression. Supported variables are 'campaign.identifier: Long', 'campaign.name: String'" filter: String, "Order the results by providing pairs of columns and sort directions" order: [SearchTermCloseVariantsConsoleOverviewCampaignOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): SearchTermCloseVariantsConsoleOverviewCampaignConnection searchTermCloseVariantsConsoleOverviewAdGroups(id: ID!, "Maximum number of 1,000" campaignIds: [ID!], "Filter expression. Supported variables are 'campaign.identifier: Long', 'campaign.name: String', 'ad_group.identifier: Long', 'ad_group.name: String', 'classification: SearchTermCloseVariantsOverviewClassification', 'automation.enabled: Boolean!'" filter: String, "Order the results by providing pairs of columns and sort directions" order: [SearchTermCloseVariantsConsoleOverviewAdGroupOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): SearchTermCloseVariantsConsoleOverviewAdGroupConnection searchTermCloseVariantsConsoleSearchTerms(id: ID!, campaignId: ID!, adGroupId: ID, "Filter expression. Supported variables are 'search_term: String', 'status: 100 for allowed | 200 for blocked | 300 for review' and the 'day_*' order keys." filter: String, "Set to 'true' to only return results that have keyword matches" hasKeywordMatches: Boolean, "Set to 'true' to only return results that have negative keyword matches and extra keyword matches" hasNegativeKeywordAndExtraKeywordMatches: Boolean, "Order the results by providing pairs of columns and sort directions" order: [SearchTermCloseVariantsConsoleSearchTermFetchOptionsOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): SearchTermCloseVariantsConsoleSearchTermConnection performanceIssuesConsole(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!], "Filter expression. Supported variables are 'platform', 'id' and 'name'" filter: String, "Order the results by providing pairs of columns and sort directions" order: [PerformanceIssuesConsoleOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): PerformanceIssuesConsoleConnection performanceHighlights(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!], "Maximum allowed value is 500" limit: Int): [PerformanceHighlight!] adAccountPerformanceReport(start: LocalDate!, end: LocalDate!, platforms: [AdPlatform!], "Maximum allowed value is 1,000" ids: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!], "Filter expression. Supported variables are 'account.platform', 'account.id', 'account.name'" filter: String, "Order the results by providing pairs of columns and sort directions" order: [AdAccountPerformanceConnectionOrder!], "Maximum allowed value is 5,000" offset: Int, "Maximum allowed value is 500" limit: Int): AdAccountPerformanceConnection changeLog(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!], "Maximum allowed value is 1,000" budgetIds: [ID!], types: [ChangeLogType!], "Filter expression. Supported variables are 'timestamp: Timestamp!', 'client.name: String!', 'user.name: String!', 'user.email: String!'" filter: String, "Maximum allowed value is 500" last: Int, before: String, "Maximum allowed value is 500" first: Int, after: String): ChangeLogConnection summaryAdAccountInsights(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!]): InsightAdAccountSummary summaryAdGroupConsole(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!]): AdGroupConsoleSummary summaryAssetGroupConsole(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!]): AssetGroupConsoleSummary summaryAudienceConsole(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!]): AudienceConsoleSummary summaryAudienceManager(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!]): AudienceManagerSummary summaryBudgets(isClientAllSelectedBudget: Boolean, platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!]): BudgetSummary summaryCampaignConsole(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!]): CampaignConsoleSummary summaryDeviceConsole(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!]): DeviceConsoleSummary summaryKeywordConsole(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!]): KeywordConsoleSummary summaryNGramConsole(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!]): NGramConsoleSummary summaryProductConsole(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!]): ProductConsoleSummary summaryPublisherConsole(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!]): PublisherConsoleSummary summarySearchTermConsole(platforms: [AdPlatform!], "Maximum allowed value is 1,000" adAccountIds: [AdAccountIdInput!], "To limit ad accounts with either tag id 1, 2, or 3: [[1], [2], [3]]. To limit ad accounts that have tag id 1 and 2, or 3: [[1, 2], 3]. To limit ad accounts with no tag: []." tagIds: [[ID!]!], "Opposite of tagIds" notTagIds: [[ID!]!]): SearchTermConsoleSummary } type Scan { id: ID! type: ScanType! subTypes: [ScanSubType!]! status: ScanStatus! insights: [Insight!]! } type ScanConnection { total: Long offsetInfo: OffsetInfo! nodes: [Scan!]! } type ScanDefinitionAccountConversions implements ScanDefinitionInterface { type: ScanType! subTypes: ScanDefinitionAccountConversionsSubTypes! config: ScanDefinitionAccountConversionsConfig! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionAccountConversionsConfig { lookBackDays: Int noConversionDaysFactor: Float filter: String tags: ScanDefinitionConfigAdAccountTags } type ScanDefinitionAccountConversionsSubTypeAllNoConversions { subType: ScanSubTypeAccountConversions! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection } type ScanDefinitionAccountConversionsSubTypeNoConversions { subType: ScanSubTypeAccountConversions! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection } type ScanDefinitionAccountConversionsSubTypeNoConversionsSecondary { subType: ScanSubTypeAccountConversions! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection } type ScanDefinitionAccountConversionsSubTypes { allNoConversions: ScanDefinitionAccountConversionsSubTypeAllNoConversions! noConversions: ScanDefinitionAccountConversionsSubTypeNoConversions! noConversionsSecondary: ScanDefinitionAccountConversionsSubTypeNoConversionsSecondary! } type ScanDefinitionAccountNotServing implements ScanDefinitionInterface { type: ScanType! subTypes: ScanDefinitionAccountNotServingSubTypes! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionAccountNotServingSubTypeAdGroupsNoActiveComponents { subType: ScanSubTypeAccountNotServing! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection } type ScanDefinitionAccountNotServingSubTypeCampaignsNoImpressions { subType: ScanSubTypeAccountNotServing! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection } type ScanDefinitionAccountNotServingSubTypeNoImpressions { subType: ScanSubTypeAccountNotServing! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection } type ScanDefinitionAccountNotServingSubTypes { noImpressions: ScanDefinitionAccountNotServingSubTypeNoImpressions! campaignsNoImpressions: ScanDefinitionAccountNotServingSubTypeCampaignsNoImpressions! adGroupsNoActiveComponents: ScanDefinitionAccountNotServingSubTypeAdGroupsNoActiveComponents! } type ScanDefinitionAdAccountSelection { selector: String selectorAST: ASTExpressionBooleanExpression tags: [[Tag!]!] } type ScanDefinitionAdGroupPerformance implements ScanDefinitionInterface { type: ScanType! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionAdIssuesSubTypeDisapproved { subType: ScanSubTypeDisapprovedAds! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection } type ScanDefinitionAdIssuesSubTypeLimited { subType: ScanSubTypeDisapprovedAds! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection } type ScanDefinitionAdIssuesSubTypeNotDelivering { subType: ScanSubTypeDisapprovedAds! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection } type ScanDefinitionAdIssuesSubTypes { disapproved: ScanDefinitionAdIssuesSubTypeDisapproved! limited: ScanDefinitionAdIssuesSubTypeLimited! notDelivering: ScanDefinitionAdIssuesSubTypeNotDelivering! } type ScanDefinitionAdPlatformLimits implements ScanDefinitionInterface { type: ScanType! subTypes: ScanDefinitionAdPlatformLimitsSubTypes! config: ScanDefinitionAdPlatformLimitsConfig! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionAdPlatformLimitsConfig { warnPercent: BigDecimal } type ScanDefinitionAdPlatformLimitsSubTypeWarn { subType: ScanSubTypeAdPlatformLimits! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection } type ScanDefinitionAdPlatformLimitsSubTypes { warn: ScanDefinitionAdPlatformLimitsSubTypeWarn! } type ScanDefinitionAssetGroupPerformance implements ScanDefinitionInterface { type: ScanType! subTypes: ScanDefinitionAssetGroupPerformanceSubTypes! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionAssetGroupPerformanceSubTypeIssues { subType: ScanSubTypeAssetGroupPerformance! category: InsightCategory defaultCategory: InsightCategory! } type ScanDefinitionAssetGroupPerformanceSubTypes { issues: ScanDefinitionAssetGroupPerformanceSubTypeIssues! } type ScanDefinitionAudienceManager implements ScanDefinitionInterface { type: ScanType! disabled: Boolean! subTypes: ScanDefinitionAudienceManagerSubTypes! target: ScanDefinitionTarget! } type ScanDefinitionAudienceManagerSubTypeAdGroupNoAudience { subType: ScanSubTypeAudienceManager! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection } type ScanDefinitionAudienceManagerSubTypeCampaignNoAudience { subType: ScanSubTypeAudienceManager! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection } type ScanDefinitionAudienceManagerSubTypes { campaignNoAudience: ScanDefinitionAudienceManagerSubTypeCampaignNoAudience! adGroupNoAudience: ScanDefinitionAudienceManagerSubTypeAdGroupNoAudience! } type ScanDefinitionAudiencePerformance implements ScanDefinitionInterface { type: ScanType! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionAutomaticallyGeneratedAssets implements ScanDefinitionInterface { type: ScanType! subTypes: ScanDefinitionAutomaticallyGeneratedAssetsSubTypes! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionAutomaticallyGeneratedAssetsSubTypeAdImages { subType: ScanSubTypeAutomaticallyGeneratedAssets! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection pause: ScanDefinitionAdAccountSelection remove: ScanDefinitionAdAccountSelection } type ScanDefinitionAutomaticallyGeneratedAssetsSubTypeAdLongerHeadlines { subType: ScanSubTypeAutomaticallyGeneratedAssets! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection pause: ScanDefinitionAdAccountSelection remove: ScanDefinitionAdAccountSelection } type ScanDefinitionAutomaticallyGeneratedAssetsSubTypeBusinessLogos { subType: ScanSubTypeAutomaticallyGeneratedAssets! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection pause: ScanDefinitionAdAccountSelection remove: ScanDefinitionAdAccountSelection } type ScanDefinitionAutomaticallyGeneratedAssetsSubTypeBusinessNames { subType: ScanSubTypeAutomaticallyGeneratedAssets! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection pause: ScanDefinitionAdAccountSelection remove: ScanDefinitionAdAccountSelection } type ScanDefinitionAutomaticallyGeneratedAssetsSubTypeCallouts { subType: ScanSubTypeAutomaticallyGeneratedAssets! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection pause: ScanDefinitionAdAccountSelection remove: ScanDefinitionAdAccountSelection } type ScanDefinitionAutomaticallyGeneratedAssetsSubTypeStructuredSnippets { subType: ScanSubTypeAutomaticallyGeneratedAssets! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection pause: ScanDefinitionAdAccountSelection remove: ScanDefinitionAdAccountSelection } type ScanDefinitionAutomaticallyGeneratedAssetsSubTypes { adImages: ScanDefinitionAutomaticallyGeneratedAssetsSubTypeAdImages! adLongerHeadlines: ScanDefinitionAutomaticallyGeneratedAssetsSubTypeAdLongerHeadlines! businessLogos: ScanDefinitionAutomaticallyGeneratedAssetsSubTypeBusinessLogos! businessNames: ScanDefinitionAutomaticallyGeneratedAssetsSubTypeBusinessNames! callouts: ScanDefinitionAutomaticallyGeneratedAssetsSubTypeCallouts! structuredSnippets: ScanDefinitionAutomaticallyGeneratedAssetsSubTypeStructuredSnippets! } type ScanDefinitionBrandCampaignImpressionShare implements ScanDefinitionInterface { type: ScanType! subTypes: ScanDefinitionBrandCampaignImpressionShareSubTypes! config: ScanDefinitionBrandCampaignImpressionShareConfig! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionBrandCampaignImpressionShareConfig { campaignIds: [ID!] } type ScanDefinitionBrandCampaignImpressionShareSubTypeBudget { subType: ScanSubTypeBrandCampaignImpressionShare! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection } type ScanDefinitionBrandCampaignImpressionShareSubTypeRank { subType: ScanSubTypeBrandCampaignImpressionShare! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection } type ScanDefinitionBrandCampaignImpressionShareSubTypes { budget: ScanDefinitionBrandCampaignImpressionShareSubTypeBudget! rank: ScanDefinitionBrandCampaignImpressionShareSubTypeRank! } type ScanDefinitionBudgetAllocationRecommendation implements ScanDefinitionInterface { type: ScanType! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionCampaignPerformance implements ScanDefinitionInterface { type: ScanType! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionCloseVariants implements ScanDefinitionInterface { type: ScanType! subTypes: ScanDefinitionCloseVariantsSubTypes! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionCloseVariantsSubTypeGood { subType: ScanSubTypeCloseVariants! category: InsightCategory defaultCategory: InsightCategory! } type ScanDefinitionCloseVariantsSubTypeHighSpend { subType: ScanSubTypeCloseVariants! category: InsightCategory defaultCategory: InsightCategory! } type ScanDefinitionCloseVariantsSubTypePoor { subType: ScanSubTypeCloseVariants! category: InsightCategory defaultCategory: InsightCategory! } type ScanDefinitionCloseVariantsSubTypes { good: ScanDefinitionCloseVariantsSubTypeGood! poor: ScanDefinitionCloseVariantsSubTypePoor! highSpend: ScanDefinitionCloseVariantsSubTypeHighSpend! } type ScanDefinitionConfigAdAccountTags { include: [[Tag!]!] exclude: [[Tag!]!] } type ScanDefinitionDevicePerformance implements ScanDefinitionInterface { type: ScanType! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionDisapprovedAds implements ScanDefinitionInterface { type: ScanType! subType: ScanDefinitionDisapprovedAdsSubTypeIssues! @deprecated(reason: "there are now multiple subtypes") subTypes: ScanDefinitionAdIssuesSubTypes! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionDisapprovedAdsSubTypeIssues { subType: ScanSubTypeDisapprovedAds! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection } type ScanDefinitionGoogleCampaignNetworksSubTypePoorSearchPartnerPerformance { subType: ScanSubTypeSearchCampaignWithDisplay! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection removeNetwork: ScanDefinitionAdAccountSelection } type ScanDefinitionGoogleCampaignNetworksSubTypeSearchCampaignWithDisplay { subType: ScanSubTypeSearchCampaignWithDisplay! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection removeNetwork: ScanDefinitionAdAccountSelection } type ScanDefinitionGoogleCampaignNetworksSubTypes { poorSearchPartnerPerformance: ScanDefinitionGoogleCampaignNetworksSubTypePoorSearchPartnerPerformance! searchCampaignWithDisplay: ScanDefinitionGoogleCampaignNetworksSubTypeSearchCampaignWithDisplay! } type ScanDefinitionKeywordConflicts implements ScanDefinitionInterface { type: ScanType! subTypes: ScanDefinitionKeywordConflictsSubTypes! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionKeywordConflictsSubTypeDuplicates { subType: ScanSubTypeKeywordConflicts! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection } type ScanDefinitionKeywordConflictsSubTypes { duplicates: ScanDefinitionKeywordConflictsSubTypeDuplicates! } type ScanDefinitionKeywordPerformance implements ScanDefinitionInterface { type: ScanType! subTypes: ScanDefinitionKeywordPerformanceSubTypes! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionKeywordPerformanceSubTypeIssues { subType: ScanSubTypeKeywordPerformance! category: InsightCategory defaultCategory: InsightCategory! } type ScanDefinitionKeywordPerformanceSubTypes { issues: ScanDefinitionKeywordPerformanceSubTypeIssues! } type ScanDefinitionLinkCheck implements ScanDefinitionInterface { type: ScanType! subTypes: ScanDefinitionLinkCheckSubTypes! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionLinkCheckSubTypeAds { subType: ScanSubTypeLinkCheck! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection } type ScanDefinitionLinkCheckSubTypes { ads: ScanDefinitionLinkCheckSubTypeAds! } type ScanDefinitionLinkedInCampaignPlacements implements ScanDefinitionInterface { type: ScanType! subTypes: ScanDefinitionLinkedInCampaignPlacementsSubTypes! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionLinkedInCampaignPlacementsSubTypePoorOffsitePerformance { subType: ScanSubTypeLinkedInCampaignPlacements! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection removePlacement: ScanDefinitionAdAccountSelection } type ScanDefinitionLinkedInCampaignPlacementsSubTypes { poorOffsitePerformance: ScanDefinitionLinkedInCampaignPlacementsSubTypePoorOffsitePerformance! } type ScanDefinitionLocationTarget implements ScanDefinitionInterface { type: ScanType! subTypes: ScanDefinitionLocationTargetSubTypes! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionLocationTargetSubTypeInterestIn { subType: ScanSubTypeLocationTarget! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection removeInterestIn: ScanDefinitionAdAccountSelection } type ScanDefinitionLocationTargetSubTypes { interestIn: ScanDefinitionLocationTargetSubTypeInterestIn! } type ScanDefinitionMicrosoftConnection implements ScanDefinitionInterface { type: ScanType! subTypes: ScanDefinitionMicrosoftConnectionSubTypes! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionMicrosoftConnectionSubTypeMissing { subType: ScanSubTypeMicrosoftConnection! category: InsightCategory defaultCategory: InsightCategory! } type ScanDefinitionMicrosoftConnectionSubTypes { missing: ScanDefinitionMicrosoftConnectionSubTypeMissing! } type ScanDefinitionMicrosoftShoppingDynamicRemarketing implements ScanDefinitionInterface { type: ScanType! subTypes: ScanDefinitionMicrosoftShoppingDynamicRemarketingSubTypes! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionMicrosoftShoppingDynamicRemarketingSubTypeMissing { subType: ScanSubTypeMicrosoftShoppingDynamicRemarketing! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection } type ScanDefinitionMicrosoftShoppingDynamicRemarketingSubTypes { missing: ScanDefinitionMicrosoftShoppingDynamicRemarketingSubTypeMissing! } type ScanDefinitionNGramPerformance implements ScanDefinitionInterface { type: ScanType! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionNegativeKeywordConflicts implements ScanDefinitionInterface { type: ScanType! subType: ScanDefinitionNegativeKeywordConflictsSubType! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionNegativeKeywordConflictsSubType { subType: ScanSubTypeNegativeKeywordConflicts! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection } type ScanDefinitionNoRecentChanges implements ScanDefinitionInterface { type: ScanType! subType: ScanDefinitionNoRecentChangesSubType! config: ScanDefinitionNoRecentChangesConfig! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionNoRecentChangesConfig { lookBackDays: Int! } type ScanDefinitionNoRecentChangesSubType { subType: ScanSubTypeNoRecentChanges! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection } type ScanDefinitionPlatformRecommendations implements ScanDefinitionInterface { type: ScanType! subType: ScanDefinitionPlatformRecommendationsSubType! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionPlatformRecommendationsSubType { subType: ScanSubTypePlatformRecommendations! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection dismissAll: ScanDefinitionAdAccountSelection } type ScanDefinitionProductPerformance implements ScanDefinitionInterface { type: ScanType! subTypes: ScanDefinitionProductPerformanceSubTypes! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionProductPerformanceSubTypeIssues { subType: ScanSubTypeProductPerformance! category: InsightCategory defaultCategory: InsightCategory! } type ScanDefinitionProductPerformanceSubTypes { issues: ScanDefinitionProductPerformanceSubTypeIssues! } type ScanDefinitionPublisherPerformance implements ScanDefinitionInterface { type: ScanType! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionSearchCampaignWithDisplay implements ScanDefinitionInterface { type: ScanType! subType: ScanDefinitionSearchCampaignWithDisplaySubType! @deprecated(reason: "use `subTypes`") subTypes: ScanDefinitionGoogleCampaignNetworksSubTypes! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionSearchCampaignWithDisplaySubType { subType: ScanSubTypeSearchCampaignWithDisplay! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection removeDisplayNetwork: ScanDefinitionAdAccountSelection } type ScanDefinitionSearchTermPerformance implements ScanDefinitionInterface { type: ScanType! subTypes: ScanDefinitionSearchTermPerformanceSubTypes! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionSearchTermPerformanceSubTypeBlockedConverters { subType: ScanSubTypeSearchTermPerformance! category: InsightCategory defaultCategory: InsightCategory! } type ScanDefinitionSearchTermPerformanceSubTypes { blockedConverters: ScanDefinitionSearchTermPerformanceSubTypeBlockedConverters! } type ScanDefinitionSiteLink implements ScanDefinitionInterface { type: ScanType! subTypes: ScanDefinitionSiteLinkSubTypes! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionSiteLinkSubTypeAutomatic { subType: ScanSubTypeSiteLink! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection pauseSiteLinks: ScanDefinitionAdAccountSelection removeSiteLinks: ScanDefinitionAdAccountSelection } type ScanDefinitionSiteLinkSubTypeAutomaticCheck { subType: ScanSubTypeSiteLink! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection pauseSiteLinks: ScanDefinitionAdAccountSelection removeSiteLinks: ScanDefinitionAdAccountSelection } type ScanDefinitionSiteLinkSubTypeCheck { subType: ScanSubTypeSiteLink! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection pauseSiteLinks: ScanDefinitionAdAccountSelection removeSiteLinks: ScanDefinitionAdAccountSelection } type ScanDefinitionSiteLinkSubTypes { automatic: ScanDefinitionSiteLinkSubTypeAutomatic! automaticCheck: ScanDefinitionSiteLinkSubTypeAutomaticCheck! check: ScanDefinitionSiteLinkSubTypeCheck! } type ScanDefinitionThirdPartyChanges implements ScanDefinitionInterface { type: ScanType! subType: ScanDefinitionThirdPartyChangesSubType! disabled: Boolean! target: ScanDefinitionTarget! } type ScanDefinitionThirdPartyChangesSubType { subType: ScanSubTypeThirdPartyChanges! category: InsightCategory defaultCategory: InsightCategory! disable: ScanDefinitionAdAccountSelection } type ScanReferenced { id: ID! type: ScanType! subTypes: [ScanSubType!]! status: ScanStatus! } type ScanStatusDisabled { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type ScanStatusInitializing { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type ScanStatusPending { starts: Instant! } type ScanStatusRan { at: Instant! next: Instant } type ScanStatusRunning { previous: Instant started: Instant! } type ScanStatusSnoozed { until: Instant! } type ScanSubType { subType: String! status: ScanSubTypeStatus! } type ScanSubTypeStatusAction { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type ScanSubTypeStatusDisabled { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type ScanSubTypeStatusEnabled { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type ScanSubTypeStatusSnoozed { until: Instant! } type SearchTermCloseVariantsAutoNegativesAdGroup { config: SearchTermCloseVariantsAutoNegativesConfig! } type SearchTermCloseVariantsAutoNegativesCampaign { config: SearchTermCloseVariantsAutoNegativesConfig! } type SearchTermCloseVariantsAutoNegativesConfig { addPhrasesIfAllKeywordsExactMatch: Boolean! } type SearchTermCloseVariantsAutoNegativesEnabled { level: SearchTermCloseVariantsAutoNegatives! runId: ID } type SearchTermCloseVariantsAutoNegativesSharedList { list: NegativeKeywordList! config: SearchTermCloseVariantsAutoNegativesConfig! } type SearchTermCloseVariantsConsole { adAccount: AdAccount! numAdGroupsWithAutoNegatives: Long status: SearchTermCloseVariantsConsoleStatus! } type SearchTermCloseVariantsConsoleConnection { total: Long offsetInfo: OffsetInfo! nodes: [SearchTermCloseVariantsConsole!]! } type SearchTermCloseVariantsConsoleOverviewAdGroup { adGroup: AdGroup! autoNegatives: SearchTermCloseVariantsAutoNegatives classification: SearchTermCloseVariantsOverviewClassification totals: SearchTermCloseVariantsConsoleTotals! metrics: SearchTermCloseVariantsConsoleOverviewMetrics! } type SearchTermCloseVariantsConsoleOverviewAdGroupConnection { total: Long! offsetInfo: OffsetInfo! nodes: [SearchTermCloseVariantsConsoleOverviewAdGroup!]! } type SearchTermCloseVariantsConsoleOverviewCampaign { campaign: Campaign! numAdGroupsWithAutoNegatives: Long totals: SearchTermCloseVariantsConsoleTotals! metrics: SearchTermCloseVariantsConsoleOverviewMetrics! } type SearchTermCloseVariantsConsoleOverviewCampaignConnection { total: Long! offsetInfo: OffsetInfo! nodes: [SearchTermCloseVariantsConsoleOverviewCampaign!]! } type SearchTermCloseVariantsConsoleOverviewMetricsClickThroughRate { target: BigDecimal benchmarkMetrics: SearchTermCloseVariantsConsoleOverviewMetricsGroup! closeVariantMetrics: SearchTermCloseVariantsConsoleOverviewMetricsGroup! } type SearchTermCloseVariantsConsoleOverviewMetricsCommon { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! clickThroughRate: BigDecimal conversionRate: BigDecimal convValueCost: BigDecimal costPerClick: BigDecimal costPerConversion: BigDecimal performance: BigDecimal } type SearchTermCloseVariantsConsoleOverviewMetricsConvValueCost { target: BigDecimal benchmarkMetrics: SearchTermCloseVariantsConsoleOverviewMetricsGroup! closeVariantMetrics: SearchTermCloseVariantsConsoleOverviewMetricsGroup! } type SearchTermCloseVariantsConsoleOverviewMetricsCostPerConversion { target: BigDecimal benchmarkMetrics: SearchTermCloseVariantsConsoleOverviewMetricsGroup! closeVariantMetrics: SearchTermCloseVariantsConsoleOverviewMetricsGroup! } type SearchTermCloseVariantsConsoleOverviewMetricsGroup { days7: SearchTermCloseVariantsConsoleOverviewMetricsCommon! days14: SearchTermCloseVariantsConsoleOverviewMetricsCommon! days30: SearchTermCloseVariantsConsoleOverviewMetricsCommon! days60: SearchTermCloseVariantsConsoleOverviewMetricsCommon! days90: SearchTermCloseVariantsConsoleOverviewMetricsCommon! } type SearchTermCloseVariantsConsoleOverviewMetricsImpressions { target: Long benchmarkMetrics: SearchTermCloseVariantsConsoleOverviewMetricsGroup! closeVariantMetrics: SearchTermCloseVariantsConsoleOverviewMetricsGroup! } type SearchTermCloseVariantsConsoleSearchTerm { adGroup: AdGroup! searchTerm: String! status: SearchTermCloseVariantsConsoleSearchTermStatus! metrics: SearchTermCloseVariantsConsoleSearchTermMetrics! triggerKeywords: [Keyword!] } type SearchTermCloseVariantsConsoleSearchTermConnection { total: Long! offsetInfo: OffsetInfo! campaign: Campaign! nodes: [SearchTermCloseVariantsConsoleSearchTerm!]! } type SearchTermCloseVariantsConsoleSearchTermMetricsClickThroughRate { target: BigDecimal days7: SearchTermCloseVariantsConsoleSearchTermMetricsCommon! days14: SearchTermCloseVariantsConsoleSearchTermMetricsCommon! days30: SearchTermCloseVariantsConsoleSearchTermMetricsCommon! days60: SearchTermCloseVariantsConsoleSearchTermMetricsCommon! days90: SearchTermCloseVariantsConsoleSearchTermMetricsCommon! } type SearchTermCloseVariantsConsoleSearchTermMetricsCommon { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! clickThroughRate: BigDecimal conversionRate: BigDecimal convValueCost: BigDecimal costPerClick: BigDecimal costPerConversion: BigDecimal performance: BigDecimal } type SearchTermCloseVariantsConsoleSearchTermMetricsConvValueCost { target: BigDecimal days7: SearchTermCloseVariantsConsoleSearchTermMetricsCommon! days14: SearchTermCloseVariantsConsoleSearchTermMetricsCommon! days30: SearchTermCloseVariantsConsoleSearchTermMetricsCommon! days60: SearchTermCloseVariantsConsoleSearchTermMetricsCommon! days90: SearchTermCloseVariantsConsoleSearchTermMetricsCommon! } type SearchTermCloseVariantsConsoleSearchTermMetricsCostPerConversion { target: BigDecimal days7: SearchTermCloseVariantsConsoleSearchTermMetricsCommon! days14: SearchTermCloseVariantsConsoleSearchTermMetricsCommon! days30: SearchTermCloseVariantsConsoleSearchTermMetricsCommon! days60: SearchTermCloseVariantsConsoleSearchTermMetricsCommon! days90: SearchTermCloseVariantsConsoleSearchTermMetricsCommon! } type SearchTermCloseVariantsConsoleSearchTermMetricsImpressions { target: Long days7: SearchTermCloseVariantsConsoleSearchTermMetricsCommon! days14: SearchTermCloseVariantsConsoleSearchTermMetricsCommon! days30: SearchTermCloseVariantsConsoleSearchTermMetricsCommon! days60: SearchTermCloseVariantsConsoleSearchTermMetricsCommon! days90: SearchTermCloseVariantsConsoleSearchTermMetricsCommon! } type SearchTermCloseVariantsConsoleSearchTermStatusAllowed { keywordMatches: [SearchTermCloseVariantsConsoleSearchTermStatusAllowedKeywordMatch!]! extraKeywordMatches: [SearchTermCloseVariantsConsoleSearchTermStatusAllowedExtraKeywordMatch!]! } type SearchTermCloseVariantsConsoleSearchTermStatusAllowedExtraKeywordMatch { keyword: String! matchType: KeywordMatchType! } type SearchTermCloseVariantsConsoleSearchTermStatusAllowedKeywordMatch { id: ID! keyword: String! matchType: KeywordMatchType! } type SearchTermCloseVariantsConsoleSearchTermStatusBlocked { negativeKeywords: [SearchTermCloseVariantsConsoleSearchTermStatusBlockedNegativeKeyword!]! extraKeywordMatches: [SearchTermCloseVariantsConsoleSearchTermStatusBlockedExtraKeywordMatch!]! } type SearchTermCloseVariantsConsoleSearchTermStatusBlockedExtraKeywordMatch { keyword: String! matchType: KeywordMatchType! } type SearchTermCloseVariantsConsoleSearchTermStatusBlockedNegativeKeyword { id: ID! keyword: String! matchType: KeywordMatchType! level: SearchTermCloseVariantsConsoleSearchTermStatusBlockedNegativeKeywordLevel! } type SearchTermCloseVariantsConsoleSearchTermStatusBlockedNegativeKeywordLevelAccount { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type SearchTermCloseVariantsConsoleSearchTermStatusBlockedNegativeKeywordLevelAdGroup { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type SearchTermCloseVariantsConsoleSearchTermStatusBlockedNegativeKeywordLevelCampaign { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type SearchTermCloseVariantsConsoleSearchTermStatusBlockedNegativeKeywordLevelSharedList { list: NegativeKeywordList! } type SearchTermCloseVariantsConsoleSearchTermStatusReview { keywordTextMatches: [SearchTermCloseVariantsConsoleSearchTermStatusReviewKeywordTextMatch!]! } type SearchTermCloseVariantsConsoleSearchTermStatusReviewKeywordTextMatch { id: ID! matchType: KeywordMatchType! active: Boolean! } type SearchTermCloseVariantsConsoleStatusCompleted { scanId: ID! id: ID! completed: Instant! "The time when the data was fetched. Will be before completed if this was a rerun." dataFetched: Instant! benchmarkMetrics: SearchTermCloseVariantsConsoleOverviewMetricsGroup! closeVariantMetrics: SearchTermCloseVariantsConsoleOverviewMetricsGroup! totals: SearchTermCloseVariantsConsoleTotals! } type SearchTermCloseVariantsConsoleStatusDisabled { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type SearchTermCloseVariantsConsoleStatusInitializing { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type SearchTermCloseVariantsConsoleStatusPending { starts: Instant! } type SearchTermCloseVariantsConsoleStatusRunning { started: Instant! current: SearchTermCloseVariantsConsoleStatusCompleted! } type SearchTermCloseVariantsConsoleStatusSnoozed { until: Instant! } type SearchTermCloseVariantsConsoleTotals { allowed: Int! blocked: Int! review: Int! } type SearchTermConsole { adAccount: AdAccount! status: SearchTermConsoleStatus! } type SearchTermConsoleCampaignAdGroup { id: ID! name: String! active: Boolean! attachedToSearchTerm: Boolean! "set only if `attachedToSearchTerm` is true" searchTermLast30DaysImpressions: Long canAddKeyword: Boolean! } type SearchTermConsoleCampaignAdGroupConnection { total: Long offsetInfo: OffsetInfo! nodes: [SearchTermConsoleCampaignAdGroup!]! } type SearchTermConsoleCampaignClickThroughRate { id: ID! identifier: Long! name: String! canAddKeywords: Boolean! canAddNegativeKeywords: Boolean! target: BigDecimal benchmark: BigDecimal metrics: SearchTermConsoleCampaignMetrics! clickThroughRate: BigDecimal clickThroughRatePercentage: BigDecimal negativeKeywordLists: [NegativeKeywordList!]! } type SearchTermConsoleCampaignConvValueCost { id: ID! identifier: Long! name: String! canAddKeywords: Boolean! canAddNegativeKeywords: Boolean! target: BigDecimal benchmark: BigDecimal metrics: SearchTermConsoleCampaignMetrics! convValueCost: BigDecimal convValueCostPercentage: BigDecimal negativeKeywordLists: [NegativeKeywordList!]! } type SearchTermConsoleCampaignCostPerConversion { id: ID! identifier: Long! name: String! canAddKeywords: Boolean! canAddNegativeKeywords: Boolean! target: BigDecimal benchmark: BigDecimal metrics: SearchTermConsoleCampaignMetrics! costPerConversion: BigDecimal costPerConversionPercentage: BigDecimal negativeKeywordLists: [NegativeKeywordList!]! } type SearchTermConsoleCampaignImpressions { id: ID! identifier: Long! name: String! canAddKeywords: Boolean! canAddNegativeKeywords: Boolean! target: Long benchmark: Long metrics: SearchTermConsoleCampaignMetrics! impressions: Long impressionsPercentage: BigDecimal negativeKeywordLists: [NegativeKeywordList!]! } type SearchTermConsoleCampaignMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! } type SearchTermConsoleCampaignSearchTermBlockedReasonAllAdGroupsPaused { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type SearchTermConsoleCampaignSearchTermBlockedReasonAllKeywordsPaused { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type SearchTermConsoleCampaignSearchTermBlockedReasonNegativeKeywordAtAdGroup { negativeKeywordId: ID! matchType: String! negativeKeywordText: String! adGroupId: ID! adGroupName: String! } type SearchTermConsoleCampaignSearchTermBlockedReasonNegativeKeywordAtCampaign { negativeKeywordId: ID! matchType: String! negativeKeywordText: String! campaignName: String! } type SearchTermConsoleCampaignSearchTermBlockedReasonNegativeKeywordAtSharedList { negativeKeywordId: ID! matchType: String! negativeKeywordText: String! negativeSharedListId: ID! negativeSharedListName: String! } type SearchTermConsoleCampaignSearchTermBlockedReasonOther { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type SearchTermConsoleCampaignSearchTermClickThroughRate implements SearchTermConsoleCampaignSearchTermInterface { classification: SearchTermConsoleSearchTermClassification! campaign: SearchTermConsoleCampaignClickThroughRate! searchTerm: String! adGroupTypes: [SearchTermConsoleCampaignSearchTermAdGroupType!]! days30: SearchTermConsoleCampaignSearchTermMetrics! days60: SearchTermConsoleCampaignSearchTermMetrics! days90: SearchTermConsoleCampaignSearchTermMetrics! days180: SearchTermConsoleCampaignSearchTermMetrics! days365: SearchTermConsoleCampaignSearchTermMetrics! } type SearchTermConsoleCampaignSearchTermConnection { total: Long offsetInfo: OffsetInfo! nodes: [SearchTermConsoleCampaignSearchTerm!]! } type SearchTermConsoleCampaignSearchTermConvValueCost implements SearchTermConsoleCampaignSearchTermInterface { classification: SearchTermConsoleSearchTermClassification! campaign: SearchTermConsoleCampaignConvValueCost! searchTerm: String! adGroupTypes: [SearchTermConsoleCampaignSearchTermAdGroupType!]! days30: SearchTermConsoleCampaignSearchTermMetrics! days60: SearchTermConsoleCampaignSearchTermMetrics! days90: SearchTermConsoleCampaignSearchTermMetrics! days180: SearchTermConsoleCampaignSearchTermMetrics! days365: SearchTermConsoleCampaignSearchTermMetrics! } type SearchTermConsoleCampaignSearchTermCostPerConversion implements SearchTermConsoleCampaignSearchTermInterface { classification: SearchTermConsoleSearchTermClassification! campaign: SearchTermConsoleCampaignCostPerConversion! searchTerm: String! adGroupTypes: [SearchTermConsoleCampaignSearchTermAdGroupType!]! days30: SearchTermConsoleCampaignSearchTermMetrics! days60: SearchTermConsoleCampaignSearchTermMetrics! days90: SearchTermConsoleCampaignSearchTermMetrics! days180: SearchTermConsoleCampaignSearchTermMetrics! days365: SearchTermConsoleCampaignSearchTermMetrics! } type SearchTermConsoleCampaignSearchTermImpressions implements SearchTermConsoleCampaignSearchTermInterface { classification: SearchTermConsoleSearchTermClassification! campaign: SearchTermConsoleCampaignImpressions! searchTerm: String! adGroupTypes: [SearchTermConsoleCampaignSearchTermAdGroupType!]! days30: SearchTermConsoleCampaignSearchTermMetrics! days60: SearchTermConsoleCampaignSearchTermMetrics! days90: SearchTermConsoleCampaignSearchTermMetrics! days180: SearchTermConsoleCampaignSearchTermMetrics! days365: SearchTermConsoleCampaignSearchTermMetrics! } type SearchTermConsoleCampaignSearchTermMetrics { clicks: Long! impressions: Long! cost: BigDecimal! conversions: Float! conversionsValue: Float! clickThroughRate: BigDecimal conversionRate: BigDecimal convValueCost: BigDecimal costPerClick: BigDecimal costPerConversion: BigDecimal } type SearchTermConsoleConnection { total: Long offsetInfo: OffsetInfo! nodes: [SearchTermConsole!]! } type SearchTermConsoleSearchTermClassificationIgnored implements SearchTermConsoleSearchTermClassificationInterface { type: SearchTermConsoleClassification! } type SearchTermConsoleSearchTermClassificationLowData implements SearchTermConsoleSearchTermClassificationInterface { type: SearchTermConsoleClassification! } type SearchTermConsoleSearchTermClassificationNoClicks implements SearchTermConsoleSearchTermClassificationInterface { type: SearchTermConsoleClassification! } type SearchTermConsoleSearchTermClassificationPerformanceAverage implements SearchTermConsoleSearchTermClassificationInterface { type: SearchTermConsoleClassification! } type SearchTermConsoleSearchTermClassificationPerformanceBad implements SearchTermConsoleSearchTermClassificationInterface { type: SearchTermConsoleClassification! } type SearchTermConsoleSearchTermClassificationPerformanceGood implements SearchTermConsoleSearchTermClassificationInterface { type: SearchTermConsoleClassification! } type SearchTermConsoleSearchTermClassificationSpendAverage implements SearchTermConsoleSearchTermClassificationInterface { type: SearchTermConsoleClassification! } type SearchTermConsoleSearchTermClassificationSpendHigh implements SearchTermConsoleSearchTermClassificationInterface { type: SearchTermConsoleClassification! } type SearchTermConsoleSearchTermClassificationSpendLow implements SearchTermConsoleSearchTermClassificationInterface { type: SearchTermConsoleClassification! } type SearchTermConsoleSearchTermClassificationStoppedServing implements SearchTermConsoleSearchTermClassificationInterface { type: SearchTermConsoleClassification! reasons: [SearchTermConsoleCampaignSearchTermBlockedReason!] } type SearchTermConsoleStatusCompleted { scanId: ID! id: ID! completed: Instant! "The time when the data was fetched. Will be before completed if this was a rerun." dataFetched: Instant! totalsV2: SearchTermConsoleTotalsV2! } type SearchTermConsoleStatusDisabled { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type SearchTermConsoleStatusInitializing { started: Instant! @deprecated(reason: "not applicable to initializing, only for running and completed") } type SearchTermConsoleStatusPending { starts: Instant! } type SearchTermConsoleStatusRunning { started: Instant! current: SearchTermConsoleStatusCompleted! } type SearchTermConsoleStatusSnoozed { until: Instant! } type SearchTermConsoleSummary { "total number of imported ad accounts" total: Long! totalsV2: SearchTermConsoleTotalsV2! } type SearchTermConsoleTotalsV2 { blockedConverters: Int! performanceGood: Int! performanceAverage: Int! performanceBad: Int! lowData: Int! spendHigh: Int! spendAverage: Int! spendLow: Int! ignored: Int! noClicks: Int! } type Stripe { customer: StripeCustomer! subscription: StripeSubscription paymentMethods: [StripePaymentMethod!] invoices: StripeInvoices! } type StripeAdpulsePrice { accountLimit: Int! "spend limit per month in USD of the tier below" precedingSpendLimit: BigDecimal "spend limit per month in USD" spendLimit: BigDecimal! monthly: StripeAdpulsePriceMonthly! yearly: StripeAdpulsePriceYearly! } type StripeAdpulsePriceMonthly { stripePriceId: ID! "cost per month in USD" amount: BigDecimal! } type StripeAdpulsePriceYearly { stripePriceId: ID! "cost per month in USD" amount: BigDecimal! } type StripeCustomer { id: ID! email: String defaultPaymentMethodId: ID } type StripeInvoice { id: ID! number: String! created: Instant! status: StripeInvoiceStatus! currency: CurrencyCode! amount: StripeInvoiceAmount! pdf: String lines: [StripeInvoiceLine!]! } type StripeInvoiceAmount { due: BigDecimal! paid: BigDecimal! remaining: BigDecimal! } type StripeInvoiceLine { description: String! start: Instant! end: Instant! amount: BigDecimal! } type StripeInvoiceUpcoming { currency: CurrencyCode! amount: StripeInvoiceAmount! lines: [StripeInvoiceLine!]! } type StripeInvoices { upcoming: StripeInvoiceUpcoming previous: [StripeInvoice!] } type StripePaymentMethodCard implements StripePaymentMethodInterface { id: ID! brand: String! last4: String! expiryMonth: Long! expiryYear: Long! } type StripePrice { id: ID! name: String! "a price does not have a description so this shows the product, just use 'name'" description: String recurring: StripePriceRecurring currency: CurrencyCode! amount: StripePriceAmount! } type StripePriceAmountPerUnit { amount: BigDecimal! } type StripePriceAmountTiered { tiers: [StripePriceAmountTieredTier!]! } type StripePriceAmountTieredTier { flat: BigDecimal unit: BigDecimal! upTo: Long } type StripePriceRecurring { interval: StripePriceRecurringInterval! count: Long! usageAggregation: StripePriceRecurringUsageAggregation } type StripeSubscription { id: ID! defaultPaymentMethodId: ID trialEnds: Instant cancelAt: Instant currentPeriod: StripeSubscriptionCurrentPeriod items: [StripeSubscriptionItem!] changingToAdpulsePrice: StripeSubscriptionChangingAdpulsePrice } type StripeSubscriptionChangingAdpulsePrice { stripePriceId: ID! price: StripeAdpulsePrice! } type StripeSubscriptionCurrentPeriod { start: Instant! end: Instant! } type StripeSubscriptionItem { id: ID! quantity: Long! price: StripePrice! adpulsePrice: StripeAdpulsePrice } type Tag { id: ID! "1-80 characters" name: String! "1-255 characters" description: String color: String! isUserTag: Boolean! user: User } type TagAttachments { adAccounts: Int! } type TagConnection { total: Long offsetInfo: OffsetInfo! nodes: [TagWithAttachments!]! } type TagWithAttachments { tag: Tag! attachments: TagAttachments! } type User { id: ID! created: Instant! email: String! emailVerified: Boolean! preferredName: String name: String! picture: String avatar: String timeZone: TimeZone enabled: Boolean! linkedToAmazon: Boolean! linkedToFacebook: Boolean! linkedToGoogle: Boolean! linkedToMicrosoft: Boolean! lastLogin: Instant roles: [UserRole!]! tag: Tag } type UserAppSettings { delayChildBudgetLoading: Boolean pageSize: Int tables: [UserAppSettingsTable!]! } type UserAppSettingsTable { id: String! columns: [UserAppSettingsTableColumn!]! } type UserAppSettingsTableColumn { name: String! order: Int! pinned: Boolean! } type UserConnection { total: Long nodes: [User!]! offsetInfo: OffsetInfo! } type UserCurrent { id: ID! created: Instant! email: String! emailVerified: Boolean! preferredName: String name: String! picture: String avatar: String timeZone: TimeZone linkedToAmazon: Boolean! linkedToFacebook: Boolean! linkedToGoogle: Boolean! linkedToMicrosoft: Boolean! intercomHash: String roles: [UserRole!]! organization: Organization tag: Tag appSettings: UserAppSettings! } type UserInvitation { invited: Instant! invitedBy: UserInvitationInvitedBy! name: String email: String! roles: [UserRole!]! status: UserInvitationStatus! } type UserInvitationConnection { total: Long nodes: [UserInvitation!]! offsetInfo: OffsetInfo! } type UserInvitationInvitedBy { id: ID! name: String! } type UserInvitationPending { invited: Instant! invitedBy: UserInvitationInvitedBy! name: String email: String! roles: [UserRole!]! } type UserInvitationStatusAccepted { at: Instant! } type UserInvitationStatusDeclined { at: Instant! } type UserInvitationStatusPending { "Fake field because GraphQL does not support empty objects. Do not query, use __typename instead." _: Boolean } type UserInvitationStatusRevoked { at: Instant! } type UserReference { id: ID! email: String! } type UserReferencesReplaced { budgetNotificationsAdded: Int! budgetTemplateNotificationsAdded: Int! budgetAlertDefinitionTargetsAdded: Int! adAccountTagsAdded: Int! }