Why i can not add Gender or Age Range in Campaign using CampaignCriterion ?

69 views
Skip to first unread message

Rakesh Chauhan

unread,
Nov 12, 2019, 8:30:42 AM11/12/19
to AdWords API and Google Ads API Forum
Hello sir , 

i am trying to add Gender and AgeRange using CampaignCriterion but i can't it give me this below type of Exception 

com.google.ads.googleads.v2.errors.GoogleAdsException: errors {
 error_code {
   criterion_error: CANNOT_ADD_CRITERIA_TYPE
 }
 message: "Criteria type can not be targeted."
 trigger {
   string_value: ""
 }
 location {
   field_path_elements {
     field_name: "operations"
     index {
     }
   }
   field_path_elements {
     field_name: "create"
   }
   field_path_elements {
     field_name: "age_range"
   }
 }
}
errors {
 error_code {
   criterion_error: CANNOT_ADD_CRITERIA_TYPE
 }
 message: "Criteria type can not be targeted."
 trigger {
   string_value: ""
 }
 location {
   field_path_elements {
     field_name: "operations"
     index {
       value: 1
     }
   }
   field_path_elements {
     field_name: "create"
   }
   field_path_elements {
     field_name: "gender"
   }
 }
}

        at com.google.ads.googleads.v2.errors.GoogleAdsException$Factory.createException(GoogleAdsException.java:42)
   at com.google.ads.googleads.v2.errors.GoogleAdsException$Factory.createException(GoogleAdsException.java:34)
   at com.google.ads.googleads.lib.BaseGoogleAdsException$Factory.createGoogleAdsException(BaseGoogleAdsException.java:105)
       at com.google.ads.googleads.lib.GoogleAdsExceptionTransformation.transform(GoogleAdsExceptionTransformation.java:35)
   at com.google.ads.googleads.lib.ExceptionTransformingCallable$ExceptionTransformingFuture.onFailure(ExceptionTransformingCallable.java:83)
     at com.google.api.core.ApiFutures$1.onFailure(ApiFutures.java:68)
      at com.google.common.util.concurrent.Futures$4.run(Futures.java:1123)
  at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:435)
      at com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:900)
   at com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:811)
  at com.google.common.util.concurrent.AbstractFuture.setException(AbstractFuture.java:675)
      at com.google.api.core.AbstractApiFuture$InternalSettableFuture.setException(AbstractApiFuture.java:95)
at com.google.api.core.AbstractApiFuture.setException(AbstractApiFuture.java:77)
       at com.google.api.gax.grpc.GrpcExceptionCallable$ExceptionTransformingFuture.onFailure(GrpcExceptionCallable.java:97)
  at com.google.api.core.ApiFutures$1.onFailure(ApiFutures.java:68)
      at com.google.common.util.concurrent.Futures$4.run(Futures.java:1123)
  at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:435)
      at com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:900)
   at com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:811)
  at com.google.common.util.concurrent.AbstractFuture.setException(AbstractFuture.java:675)
      at io.grpc.stub.ClientCalls$GrpcFuture.setException(ClientCalls.java:515)
      at io.grpc.stub.ClientCalls$UnaryStreamToFuture.onClose(ClientCalls.java:490)
  at io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39)
    at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23)
  at io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40)
       at com.google.ads.googleads.lib.logging.LoggingInterceptor$1$1.onClose(LoggingInterceptor.java:111)
    at io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39)
    at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23)
  at io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40)
       at io.grpc.internal.CensusStatsModule$StatsClientInterceptor$1$1.onClose(CensusStatsModule.java:700)
   at io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39)
    at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23)
  at io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40)
       at io.grpc.internal.CensusTracingModule$TracingClientInterceptor$1$1.onClose(CensusTracingModule.java:399)
     at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:500)
      at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:65)
  at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.close(ClientCallImpl.java:592)
     at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.access$700(ClientCallImpl.java:508)
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:632)
at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
       at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
     at java.lang.Thread.run(Thread.java:748)
       Suppressed: com.google.api.gax.rpc.AsyncTaskException: Asynchronous task failed
        at com.google.api.gax.rpc.ApiExceptions.callAndTranslateApiException(ApiExceptions.java:57)
            at com.google.api.gax.rpc.UnaryCallable.call(UnaryCallable.java:112)
           at com.google.ads.googleads.v2.services.CampaignCriterionServiceClient.mutateCampaignCriteria(CampaignCriterionServiceClient.java:354)
         at com.google.ads.googleads.v2.services.CampaignCriterionServiceClient.mutateCampaignCriteria(CampaignCriterionServiceClient.java:328)
         at com.addon.controller.AddNewCampaignFinal.sendcampaignCreationData(AddNewCampaignFinal.java:2373)
            at com.addon.controller.AddNewCampaignFinal.createMyExtension(AddNewCampaignFinal.java:1776)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
               at java.lang.reflect.Method.invoke(Method.java:498)
            at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:209)
             at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
             at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)
         at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:891)
               at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797)
            at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:991)
            at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925)
             at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:974)
          at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:866)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:851)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
           at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
           at org.springframework.boot.actuate.web.trace.servlet.HttpTraceFilter.doFilterInternal(HttpTraceFilter.java:90)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
           at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
          at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
           at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:109)
         at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
           at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93)
              at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
           at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.filterAndRecordMetrics(WebMvcMetricsFilter.java:155)
               at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.filterAndRecordMetrics(WebMvcMetricsFilter.java:123)
               at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:108)
             at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
           at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
           at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
           at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
          at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
              at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
               at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
         at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
          at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
            at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806)
             at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
         at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
             at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
             at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
             at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
          ... 1 more
Caused by: io.grpc.StatusRuntimeException: INVALID_ARGUMENT: Request contains an invalid argument.
   at io.grpc.Status.asRuntimeException(Status.java:533)
  ... 27 more



Google Ads API Forum Advisor Prod

unread,
Nov 12, 2019, 10:37:44 AM11/12/19
to addon....@gmail.com, adwor...@googlegroups.com
Hi Rakesh,

Age and gender can only be excluded from the campaign level. You will need to use the AdGroupCriterionService to target these criteria. You can have a look at this page to see what criteria can be targeted and excluded at what level.

Regards,
Anthony
Google Ads API Team

ref:_00D1U1174p._5001UJaNnl:ref

Rakesh Chauhan

unread,
Nov 13, 2019, 2:19:58 AM11/13/19
to AdWords API and Google Ads API Forum
Thank you for Helping me , 

but  i am trying to excluded but it only Add it is not being excluded from Group because i can't get excluded option in AdGroupCriterion

can you please help me to solve this problem

Google Ads API Forum Advisor Prod

unread,
Nov 13, 2019, 3:33:51 PM11/13/19
to addon....@gmail.com, adwor...@googlegroups.com
Hi Rakesh,

If you want to exclude a criteria, you will need to create an object of NegativeAdGroupCriterion.

Cheers,

Rakesh Chauhan

unread,
Nov 15, 2019, 11:12:21 PM11/15/19
to AdWords API and Google Ads API Forum
yah , thank you i have done it.
Reply all
Reply to author
Forward
0 new messages