File Coverage

lib/Google/Ads/AdWords/v201710/DynamicSearchAd.pm
Criterion Covered Total %
statement 9 11 81.8
branch n/a
condition n/a
subroutine 3 5 60.0
pod n/a
total 12 16 75.0


line stmt bran cond sub pod time code
1             package Google::Ads::AdWords::v201710::DynamicSearchAd;
2 1     1   1819 use strict;
  1         2  
  1         28  
3 1     1   8 use warnings;
  1         3  
  1         89  
4              
5              
6             __PACKAGE__->_set_element_form_qualified(1);
7              
8 0     0     sub get_xmlns { 'https://adwords.google.com/api/adwords/cm/v201710' };
9              
10             our $XML_ATTRIBUTE_CLASS;
11             undef $XML_ATTRIBUTE_CLASS;
12              
13             sub __get_attr_class {
14 0     0     return $XML_ATTRIBUTE_CLASS;
15             }
16              
17              
18 1     1   5 use base qw(Google::Ads::AdWords::v201710::Ad);
  1         3  
  1         96  
19             # Variety: sequence
20             use Class::Std::Fast::Storable constructor => 'none';
21             use base qw(Google::Ads::SOAP::Typelib::ComplexType);
22              
23             { # BLOCK to scope variables
24              
25             my %id_of :ATTR(:get);
26             my %url_of :ATTR(:get);
27             my %displayUrl_of :ATTR(:get);
28             my %finalUrls_of :ATTR(:get);
29             my %finalMobileUrls_of :ATTR(:get);
30             my %finalAppUrls_of :ATTR(:get);
31             my %trackingUrlTemplate_of :ATTR(:get);
32             my %urlCustomParameters_of :ATTR(:get);
33             my %urlData_of :ATTR(:get);
34             my %automated_of :ATTR(:get);
35             my %type_of :ATTR(:get);
36             my %devicePreference_of :ATTR(:get);
37             my %Ad__Type_of :ATTR(:get);
38             my %description1_of :ATTR(:get);
39             my %description2_of :ATTR(:get);
40              
41             __PACKAGE__->_factory(
42             [ qw( id
43             url
44             displayUrl
45             finalUrls
46             finalMobileUrls
47             finalAppUrls
48             trackingUrlTemplate
49             urlCustomParameters
50             urlData
51             automated
52             type
53             devicePreference
54             Ad__Type
55             description1
56             description2
57              
58             ) ],
59             {
60             'id' => \%id_of,
61             'url' => \%url_of,
62             'displayUrl' => \%displayUrl_of,
63             'finalUrls' => \%finalUrls_of,
64             'finalMobileUrls' => \%finalMobileUrls_of,
65             'finalAppUrls' => \%finalAppUrls_of,
66             'trackingUrlTemplate' => \%trackingUrlTemplate_of,
67             'urlCustomParameters' => \%urlCustomParameters_of,
68             'urlData' => \%urlData_of,
69             'automated' => \%automated_of,
70             'type' => \%type_of,
71             'devicePreference' => \%devicePreference_of,
72             'Ad__Type' => \%Ad__Type_of,
73             'description1' => \%description1_of,
74             'description2' => \%description2_of,
75             },
76             {
77             'id' => 'SOAP::WSDL::XSD::Typelib::Builtin::long',
78             'url' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
79             'displayUrl' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
80             'finalUrls' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
81             'finalMobileUrls' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
82             'finalAppUrls' => 'Google::Ads::AdWords::v201710::AppUrl',
83             'trackingUrlTemplate' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
84             'urlCustomParameters' => 'Google::Ads::AdWords::v201710::CustomParameters',
85             'urlData' => 'Google::Ads::AdWords::v201710::UrlData',
86             'automated' => 'SOAP::WSDL::XSD::Typelib::Builtin::boolean',
87             'type' => 'Google::Ads::AdWords::v201710::Ad::Type',
88             'devicePreference' => 'SOAP::WSDL::XSD::Typelib::Builtin::long',
89             'Ad__Type' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
90             'description1' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
91             'description2' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
92             },
93             {
94              
95             'id' => 'id',
96             'url' => 'url',
97             'displayUrl' => 'displayUrl',
98             'finalUrls' => 'finalUrls',
99             'finalMobileUrls' => 'finalMobileUrls',
100             'finalAppUrls' => 'finalAppUrls',
101             'trackingUrlTemplate' => 'trackingUrlTemplate',
102             'urlCustomParameters' => 'urlCustomParameters',
103             'urlData' => 'urlData',
104             'automated' => 'automated',
105             'type' => 'type',
106             'devicePreference' => 'devicePreference',
107             'Ad__Type' => 'Ad.Type',
108             'description1' => 'description1',
109             'description2' => 'description2',
110             }
111             );
112              
113             } # end BLOCK
114              
115              
116              
117              
118              
119              
120              
121             1;
122              
123              
124             =pod
125              
126             =head1 NAME
127              
128             Google::Ads::AdWords::v201710::DynamicSearchAd
129              
130             =head1 DESCRIPTION
131              
132             Perl data type class for the XML Schema defined complexType
133             DynamicSearchAd from the namespace https://adwords.google.com/api/adwords/cm/v201710.
134              
135             Represents a dynamic search ad. This ad will have its headline and final URL auto-generated at serving time according to domain name specific information provided by DynamicSearchAdsSetting at the campaign level.

Auto-generated fields: headline and final URL.

Note: we recommend using the ExpandedDynamicSearchAd type, introduced in v201705, rather than the DynamicSearchAd type.

Required fields: {@code description1}, {@code description2}, {@code displayUrl}.

The tracking URL field must contain at least one of the following placeholder tags (URL parameters):

  • {unescapedlpurl}
  • {escapedlpurl}
  • {lpurl}
  • {lpurl+2}
  • {lpurl+3}
  • {unescapedlpurl} will be replaced with the full landing page URL of the displayed ad. Extra query parameters can be added to the end, e.g.: "{unescapedlpurl}?lang=en".
  • {escapedlpurl} will be replaced with the URL-encoded version of the full landing page URL. This makes it suitable for use as a query parameter value (e.g.: "http://www.3rdpartytracker.com/?lp={escapedlpurl}") but not at the beginning of the URL field.
  • {lpurl} encodes the "?" and "=" of the landing page URL making it suitable for use as a query parameter. If found at the beginning of the URL field, it is replaced by the {unescapedlpurl} value. E.g.: "http://tracking.com/redir.php?tracking=xyz&url={lpurl}".
  • {lpurl+2} and {lpurl+3} will be replaced with the landing page URL escaped two or three times, respectively. This makes it suitable if there is a chain of redirects in the tracking URL.

Note that {@code finalUrls} and {@code finalMobileUrls} cannot be set for dynamic search ads.

For more information, see the article Using dynamic tracking URLs.

This is disabled for AdX when it is contained within Operators: ADD, SET.
136              
137              
138              
139              
140             =head2 PROPERTIES
141              
142             The following properties may be accessed using get_PROPERTY / set_PROPERTY
143             methods:
144              
145             =over
146              
147             =item * description1
148              
149              
150             =item * description2
151              
152              
153              
154              
155             =back
156              
157              
158             =head1 METHODS
159              
160             =head2 new
161              
162             Constructor. The following data structure may be passed to new():
163              
164              
165              
166              
167              
168              
169             =head1 AUTHOR
170              
171             Generated by SOAP::WSDL
172              
173             =cut
174