File Coverage

lib/Google/Ads/AdWords/v201702/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::v201702::DynamicSearchAd;
2 1     1   2262 use strict;
  1         3  
  1         29  
3 1     1   5 use warnings;
  1         2  
  1         91  
4              
5              
6             __PACKAGE__->_set_element_form_qualified(1);
7              
8 0     0     sub get_xmlns { 'https://adwords.google.com/api/adwords/cm/v201702' };
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   18 use base qw(Google::Ads::AdWords::v201702::Ad);
  1         2  
  1         144  
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 %type_of :ATTR(:get);
35             my %devicePreference_of :ATTR(:get);
36             my %Ad__Type_of :ATTR(:get);
37             my %description1_of :ATTR(:get);
38             my %description2_of :ATTR(:get);
39              
40             __PACKAGE__->_factory(
41             [ qw( id
42             url
43             displayUrl
44             finalUrls
45             finalMobileUrls
46             finalAppUrls
47             trackingUrlTemplate
48             urlCustomParameters
49             urlData
50             type
51             devicePreference
52             Ad__Type
53             description1
54             description2
55              
56             ) ],
57             {
58             'id' => \%id_of,
59             'url' => \%url_of,
60             'displayUrl' => \%displayUrl_of,
61             'finalUrls' => \%finalUrls_of,
62             'finalMobileUrls' => \%finalMobileUrls_of,
63             'finalAppUrls' => \%finalAppUrls_of,
64             'trackingUrlTemplate' => \%trackingUrlTemplate_of,
65             'urlCustomParameters' => \%urlCustomParameters_of,
66             'urlData' => \%urlData_of,
67             'type' => \%type_of,
68             'devicePreference' => \%devicePreference_of,
69             'Ad__Type' => \%Ad__Type_of,
70             'description1' => \%description1_of,
71             'description2' => \%description2_of,
72             },
73             {
74             'id' => 'SOAP::WSDL::XSD::Typelib::Builtin::long',
75             'url' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
76             'displayUrl' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
77             'finalUrls' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
78             'finalMobileUrls' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
79             'finalAppUrls' => 'Google::Ads::AdWords::v201702::AppUrl',
80             'trackingUrlTemplate' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
81             'urlCustomParameters' => 'Google::Ads::AdWords::v201702::CustomParameters',
82             'urlData' => 'Google::Ads::AdWords::v201702::UrlData',
83             'type' => 'Google::Ads::AdWords::v201702::Ad::Type',
84             'devicePreference' => 'SOAP::WSDL::XSD::Typelib::Builtin::long',
85             'Ad__Type' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
86             'description1' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
87             'description2' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
88             },
89             {
90              
91             'id' => 'id',
92             'url' => 'url',
93             'displayUrl' => 'displayUrl',
94             'finalUrls' => 'finalUrls',
95             'finalMobileUrls' => 'finalMobileUrls',
96             'finalAppUrls' => 'finalAppUrls',
97             'trackingUrlTemplate' => 'trackingUrlTemplate',
98             'urlCustomParameters' => 'urlCustomParameters',
99             'urlData' => 'urlData',
100             'type' => 'type',
101             'devicePreference' => 'devicePreference',
102             'Ad__Type' => 'Ad.Type',
103             'description1' => 'description1',
104             'description2' => 'description2',
105             }
106             );
107              
108             } # end BLOCK
109              
110              
111              
112              
113              
114              
115              
116             1;
117              
118              
119             =pod
120              
121             =head1 NAME
122              
123             Google::Ads::AdWords::v201702::DynamicSearchAd
124              
125             =head1 DESCRIPTION
126              
127             Perl data type class for the XML Schema defined complexType
128             DynamicSearchAd from the namespace https://adwords.google.com/api/adwords/cm/v201702.
129              
130             Represents a dynamic search ad. This ad will have its headline and tracking URL auto-generated at serving time according to domain name specific information provided by {@link DomainInfoExtension} linked at the campaign level.

Auto-generated fields: headline and optional tracking URL.

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.
131              
132              
133              
134              
135             =head2 PROPERTIES
136              
137             The following properties may be accessed using get_PROPERTY / set_PROPERTY
138             methods:
139              
140             =over
141              
142             =item * description1
143              
144              
145             =item * description2
146              
147              
148              
149              
150             =back
151              
152              
153             =head1 METHODS
154              
155             =head2 new
156              
157             Constructor. The following data structure may be passed to new():
158              
159              
160              
161              
162              
163              
164             =head1 AUTHOR
165              
166             Generated by SOAP::WSDL
167              
168             =cut
169