1<!-- standard - CustomHeader-NoAds-Site.html --> <!DOCTYPE html> 2<html lang="en" xmlns:fb="http://www.facebook.com/2008/fbml" xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#"> 3<head> 4 <title>Contact & Help | Redditch Advertiser</title> 5 6 <meta charset="utf-8"> 7 <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> 8 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 9 <meta name="OMG-Verify-V1" content="4389-366acdfc-5224-4c07-bb70-f74d8fbfc2db" /> 10 <meta name="robots" content="max-image-preview:large"> 11 <meta name="format-detection" content="telephone=no"> 12 13 <style> 14 .mar-leaderboard--top { 15 display: none; 16 } 17 </style> 18
18<script> 19 window.doNotAdvertise = true; 20 </script>
20 21 <link rel="canonical" href="https://www.redditchadvertiser.co.uk/contact/" /> 22 <meta property="fb:pages" content="394628833903112" /> 23 <meta name="title" content="Contact & Help | Redditch Advertiser"/> 24 <meta name="description" content="Get help, support and contact information for Redditch Advertiser"/> 25 <meta name="keywords" content=""/> 26
27<script type="application/ld+json"> 28 { 29 "@context": "http://schema.org", 30 "@type": "WebPage", 31 "headline": "Contact & Help | Redditch Advertiser", 32 "url": "https://www.redditchadvertiser.co.uk/contact/" 33 } 34</script>
34 35 36 37 38 39 40 41 42 43 <link id="page_stylesheet_vars" href="/resources/responsive-static/build/mds/css/palette-7-sans-serif-vars.css?r=vjoPdzgg" rel="stylesheet" type="text/css"> 44 45 <link href="/resources/responsive-static/build/mds/css/header-footer.css?r=vjoPdzgg" rel="stylesheet" type="text/css"> 46 47 <link id="page_stylesheet" href="/resources/responsive-static/build/mds/css/contactus.css?r=vjoPdzgg" rel="stylesheet" type="text/css"> 48 49 <link rel="shortcut icon" href="/resources/images/17398679/" type="image/vnd.microsoft.icon"> 50 <link rel="icon" href="/resources/images/17398679/" type="image/vnd.microsoft.icon"> 51
51<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js" integrity="sha384-1H217gwSVyLSIfaLxHbE7dRb3v4mYCKbpQvzx0cegeju1MVsGrX5xXxAvs/HgeFs" crossorigin="anonymous"></script>
vendor: 1 bytes, line 51
51
52<script src="https://code.jquery.com/jquery-migrate-3.6.0.js" integrity="sha384-ekzRTCLAU/LqHRBjnphRAxgZZvGdoP+TfkGGsX+tBJpRdM7r2/89ZZNzC/7YTJXX" crossorigin="anonymous"></script>
vendor: 1 bytes, line 52
52
53<script type="text/javascript" src="/resources/shared/responsive-sync/?r=vjoPdzgg"></script>
53 54
55<script type="text/javascript"> 56 data_layer_helper.setIsArticle(false); 57 data_layer_helper.setCookieDomain('.redditchadvertiser.co.uk'); 58 data_layer_helper.setModuleType('Newsquest\Modules\ContactUsModule'); 59 data_layer_helper.setLocalInfoFolder(''); 60 data_layer_helper.setHomesData('', '', '', 'contact'); 61 data_layer_helper.setPrimaryDomain('www.redditchadvertiser.co.uk'); 62 data_layer_helper.setPath('/contact/'); 63 data_layer_helper.setGoogleNetworkCode('154725070'); 64 data_layer_helper.setArticleTimestamp(''); 65 data_layer_helper.setPathOverride(); 66 67 68 var extraTags = []; 69 70 extraTags.push('user_level_anonymous'); 71 72 73 var data_layer = { 74 environment: { 75 is_test_site: 'no', 76 is_live_site: 'yes', 77 is_paywall_site: 'no', 78 is_portable_screen: (data_layer_helper.isMobileScreen()) ? 'yes' : 'no', 79 is_desktop_screen: (data_layer_helper.isMobileScreen()) ? 'no' : 'yes', 80 is_mobile_device: data_layer_helper.getMobileDevice(), 81 is_tablet_device: data_layer_helper.getTabletDevice(), 82 server: 'webapp-857f48ddbd-9d2rt', 83 platform: 'Martini' 84 }, 85 site: { 86 id: '159', 87 comments_subscriber_only: 'no', 88 viafoura_site_id: '00000000-0000-4000-8000-0a918142a22e', 89 comments_use_viafoura: 'yes', 90 centre_id: '3', 91 centre_name: 'Stourbridge', 92 country: 'England', 93 name: 'Redditch Advertiser', 94 name_with_prefix_capitalised_possessive: 'The Redditch Advertiser\'s', 95 name_with_prefix_lower_possessive: 'the Redditch Advertiser\'s', 96 domain: 'www.redditchadvertiser.co.uk', 97 editor_name: 'Stephanie Preece', 98 onboarding_enabled: 'no', 99 onboarding_flow_id: 'onboarding_disabled', 100 allowing_mr_replacement: '', 101 cookie_domain: '.redditchadvertiser.co.uk', 102 uses_cmp: 'yes', 103 short_domain: 'redditchadvertiser', 104 using_piano_id: 'yes', 105 enable_skimlinks: 'yes', 106 skimlinks_domain_id: '613753', 107 disable_newsletters: 'no', 108 is_archant_site: 'no', 109 shc_merchant_name: '', 110 piano_application_group: 'Forest', 111 piano_site_name: 'Redditch Advertiser', 112 piano_site_name_possessive: 'Redditch Advertiser\'s', 113 piano_site_name_with_prefix_lower: 'the Redditch Advertiser', 114 piano_site_name_with_prefix_capitalised: 'The Redditch Advertiser', 115 piano_site_name_with_prefix_capitalised_possessive: 'The Redditch Advertiser\'s', 116 piano_site_name_with_prefix_lower_possessive: 'the Redditch Advertiser\'s', 117 piano_location_primary: 'Redditch', 118 piano_location_primary_possessive: 'Redditch\'s', 119 piano_location_county: 'Worcestershire', 120 piano_location_county_possessive: 'Worcestershire\'s', 121 piano_primary_sports_team: '', 122 piano_primary_sports_team_nickname: '', 123 piano_primary_sports_team_sport: '', 124 piano_primary_sports_team_possessive: '', 125 piano_primary_sports_team_nickname_possessive: '', 126 piano_self_service_cancellation_setting: 'None', 127 has_app: 'no', 128 app_provider: '', 129 app_platform: '', 130 app_store_url_ios: '', 131 app_store_url_google_play: '', 132 cloudflare_turnstyle_site_key: '', 133 }, 134 page: { 135 module: 'Newsquest\Modules\ContactUsModule', 136 referrer: data_layer_helper.getReferrerHostName(), 137 name: '(www) ' + data_layer_helper.getOmniturePath(), 138 title: document.title, 139 path: data_layer_helper.getOmniturePath(), 140 section: data_layer_helper.getPathFragment(0), 141 subsection: data_layer_helper.getPathFragment(1), 142 subsection_2: data_layer_helper.getPathFragment(2), 143 subsection_3: data_layer_helper.getPathFragment(3), 144 reference: qs.get('ref'), 145 layout: '', 146 ad_timing: data_layer_helper.getCookie('adtiming'), 147 template_namespace: 'standard', 148 template: '', 149 colour_scheme: '', 150 layout_template: '', 151 mds_font: 'sans-serif', 152 user_used_app_last_24hours: '', 153 user_used_app_last_7days: '', 154 user_used_app_last_14days: '', 155 mds_colour_palette: 'palette-7', 156 feature_block_a_enabled: ($('[data-name="Feature Article Block A"]').length > 0) ? 'yes' : 'no', 157 feature_block_b_variant: (typeof $('[data-name="Feature Article Block B"]').data('variant') === 'undefined') ? '' : $('[data-name="Feature Article Block B"]').data('variant'), 158 is_article_list: 'no', 159 error_404: '',
160 top_stories_article_count: '', 161 interstitial_dedupe_top_stories: '', 162 interstitial_desktop_height: '', 163 interstitial_mobile_height: '', 164 interstitial_tablet_height: '', 165 interstitial_piano_module_id: '', 166 interstitial_using_recommendations: '', 167 interstitial_recommendation_header: '', 168 interstitial_article_count: '', 169 news_stories_article_count: '', 170 site_newspaper_archive_enabled: 'no', 171 site_newspaper_archive_number_of_pages: '', 172 site_newspaper_archive_start_year: 0, 173 article_originates_from_this_site: '', 174 article_originates_from_site: '', 175 article_originates_from_url: '' 176 }, 177 user: { 178 id: '', 179 first_name: '', 180 advertising_experience: 'Ad-Full', 181 is_privacy_plus: 'no', 182 is_alist: 'no', 183 level: data_layer_helper.getCookie('nq_ul'), 184 seen_cmp: (data_layer_helper.getCookie('_sp_enable_dfp_personalized_ads') === 'true' || data_layer_helper.getCookie('_sp_enable_dfp_personalized_ads') === 'false') ? 'yes' : 'no', 185 given_consent: (data_layer_helper.getCookie('_sp_enable_dfp_personalized_ads') === 'true') ? 'yes' : 'no', 186 consent_string: data_layer_helper.getConsentString(), 187 type: 'anonymous', 188 parsely_type: 'Anonymous', 189 chartbeat_type: 'anon', 190 type_as_int: '1', 191 is_logged_in: 'no', 192 is_admin: 'no', 193 is_internal_admin: '', 194 has_full_admin_link_permissions: '', 195 has_registered: (data_layer_helper.getCookie('nqr') !== null) ? 'yes' : 'no', 196 comments_verified: '', 197 comments_verified_date: '', 198 user_email_is_verified: '', 199 user_email_is_verified_date: '', 200 mobile_number_is_verified: '', 201 mobile_number_is_verified_date: '', 202 user_needs_email_verification: '', 203 user_needs_mobile_verification: '', 204 user_too_many_requests: '', 205 age_decade: '0' , 206 gender: 'u' , 207 is_known: data_layer_helper.getCookie('__siren') ? 'yes' : 'no', 208 hash: '', 209 lr_hash_1: '', 210 lr_hash_2: '', 211 lr_hash_3: '', 212 gender: 'u' , 213 user_decade: '0' , 214 subscription_plan: '', 215 subscription_tier: 'null', 216 subscription_plan_and_frequency: ' - ', 217 commented: (data_layer_helper.isArticle() && qs.get('action') === 'success') ? 'yes' : 'no', 218 time_since_last_visit: 'not implemented (maybe drop)', 219 device: data_layer_helper.getDevice(), 220 using_ad_blocker_sourcepoint: data_layer_helper.getSourcepointAdbockStatus(), 221 admin_user_name: '', 222 is_admin_internal: '', 223 is_admin_external: '', 224 card_expired: '', 225 card_will_expire: '', 226 expires_urgency: '', 227 abandoned_cart: 'no', 228 subscription_expired: 'no', 229 is_archant_site: 'no', 230 signed_up_primary_news_newsletter: 'no', 231 signed_up_primary_sport_newsletter: 'no', 232 played_free_puzzles_last_7days: '', 233 played_paid_puzzles_last_7days: '', 234 commenter_badge: '', 235 upper_role: '', 236 }, 237 analytics: { 238 hierachy: 'newsquest,Stourbridge,www.redditchadvertiser.co.uk,' + data_layer_helper.getPathFragment(3).replace(/\//,','), 239 link_filters: 'javascript:,redditchadvertiser.co.uk,fish4.co.uk,adsys.newsquest.co.uk,www.exchangeandmart.co.uk,www.communigate.co.uk,', 240 tracking_block: data_layer_helper.getTrackingFromCookie('tracking_block', ''), 241 tracking_block_index: data_layer_helper.getTrackingFromCookie('tracking_block_index', ''), 242 previous_page_name: data_layer_helper.getCookie('nq_prev_page'), 243 advert_id: '', 244 position_in_list: data_layer_helper.getTrackingFromCookie('o-prop30', ''), 245 featured_content: data_layer_helper.getTrackingFromCookie('o-ref', qs.get('ref')), 246 account: data_layer_helper.getAccount() 247 }, 248 chartbeat: { 249 enabled: "no", 250 id: "", 251 domain: "", 252 sections: '' 253 }, 254 parsely: { 255 enabled: "yes", 256 site_id: "redditchadvertiser.co.uk", 257 type: 'Anonymous' 258 }, 259 piano: { 260 tags: data_layer_helper.getPianoTags({ 261 piano_domain: 'redditchadvertiser', 262 piano_master: '', 263 breaking_news: false, 264 editorial_opinion: false, 265 free_subscriber: false, 266 free_subscriber: false, 267 has_video: false, 268 is_article: false,
269 article_content_level : '', 270 article_content_level_open_access: false, 271 picture_gallery_id: false, 272 user_is_newsquest: false, 273 user_is_entra_authenticated: false, 274 user_logged_in: false, 275 is_live_article: false, 276 why_free_subscriber: '', 277 extra_tags: extraTags, 278 is_covid_headline: false, 279 is_covid_body: false, 280 is_alist: false, 281 audio_provider_bytecast: false 282 } 283 ), 284 custom_variables: { 285 article_length: '', 286 application_group: 'Forest', 287 content_is_editorial_opinion: 'no', 288 base_url: 'https://www.redditchadvertiser.co.uk', 289 full_url: document.location.href, 290 from_discover: (document.referrer === "android-app://com.google.android.googlequicksearchbox/") ? 'yes' : 'no', 291 mds_font: 'sans-serif', 292 mds_colour_palette: 'palette-7', 293 site_name: 'Redditch Advertiser', 294 site_name_possessive: 'Redditch Advertiser\'s', 295 site_name_with_prefix_capitalised: 'The Redditch Advertiser', 296 site_name_with_prefix_lower: 'the Redditch Advertiser', 297 site_name_with_prefix_capitalised_possessive: 'The Redditch Advertiser\'s', 298 site_name_with_prefix_lower_possessive: 'the Redditch Advertiser\'s', 299 location_primary: 'Redditch', 300 location_primary_possessive: 'Redditch\'s', 301 location_county: 'Worcestershire', 302 location_county_possessive: 'Worcestershire\'s', 303 site_has_primary_sports_team: 'no', 304 primary_sports_team: '', 305 primary_sports_team_nickname: '', 306 primary_sports_team_sport: '', 307 primary_sports_team_possessive: '', 308 primary_sports_team_nickname_possessive: '', 309 site_id: '159', 310 content_level: '', 311 content_author: '', 312 content_id: '', 313 content_is_article: 'no', 314 content_primary_topic: '', 315 user_seen_consent_modal: ($.cookie('_sp_enable_dfp_personalized_ads') === 'true' || $.cookie('_sp_enable_dfp_personalized_ads') === 'false') ? 'yes' : 'no', 316 site_section: data_layer_helper.getPathFragment(0, true), 317 article_published_yyyy: '', 318 user_played_free_puzzles_last_7days: '', 319 user_played_paid_puzzles_last_7days: '', 320 anon_user_played_free_puzzles_last_7days: data_layer_helper.untrackedPuzzleCheck(), 321 home_delivery_phone_number: '0800 953 0227', 322 content_is_restricted: data_layer_helper.getRestrictedContent('', '', '', ''), 323 day_of_week: data_layer_helper.getDayOfWeek(), 324 user_card_expired: '', 325 user_card_will_expire: '', 326 user_expires_urgency: '', 327 user_used_app_last_24hours: '', 328 user_used_app_last_7days: '', 329 user_used_app_last_14days: '', 330 user_subscription_tier: 'null', 331 user_is_newsquest: 'no', 332 primary_news_newsletter_id: '1052', 333 primary_news_newsletter_name: 'the Morning Briefing', 334 primary_news_newsletter_description: 'The latest stories, in your inbox every morning.', 335 primary_sport_newsletter_id: '1053', 336 primary_sport_newsletter_name: 'the Sports AM', 337 primary_sport_newsletter_description: 'Keep up to date with the latest sport headlines.', 338 user_signed_up_primary_news_newsletter: 'no', 339 user_signed_up_primary_sport_newsletter: 'no', 340 newsletter_auto_promote: '', 341 newsletter_auto_promote_name: '', 342 newsletter_auto_promote_description: '', 343 newsletter_auto_promote_ID: '', 344 site_has_app: 'no', 345 site_app_store_url_ios: '', 346 site_app_store_url_google_play: '', 347 subsets_experiment_id: '', 348 site_section1: data_layer_helper.getPathFragment(1, true), // GBL required 349 site_newspaper_archive_enabled: 'no', 350 site_newspaper_archive_number_of_pages: '', 351 site_newspaper_archive_start_year: 0, 352 article_originates_from_this_site: '', 353 article_originates_from_site: '', 354 article_originates_from_url: '' 355 }, 356 native_variables: { 357 setContentCreated: '', 358 setContentIsNative: 'no', 359 setContentAuthor: '', 360 setContentSection: data_layer_helper.getPathFragment(0, true) 361 } 362 }, 363 article: { 364 cscore:'', 365 showing_preview: '', 366 is_article: data_layer_helper.isArticle() ? 'yes' : 'no', 367 id : '', 368 length_type: '', 369 character_count: '', 370 author: ''.toLowerCase(), 371 e_var15: ''.toLowerCase(), 372 context: '', 373 content_level: '', 374 content_level_open_access: '', 375 content_level_combined: ',,no', 376 content_is_restricted: data_layer_helper.getRestrictedContent('', '', '', ''), 377 increment: (data_layer_helper.isArticle()) ? '+1' : '', 378 sponsor: '', 379 contributions: '0', 380 is_sponsored: 'no', 381 headline: '', 382 age: data_layer_helper.getArticleAge(), 383 upload_date: '', 384 publish_date: '', 385 update_date: '', 386 rating: '', 387 source: data_layer_helper.getSource(''), 388 subjects: (typeof articleSubjects === 'object') ? articleSubjects.join(',') : '', 389 context: '', 390 grapeshot_context: (typeof gs_channels !== 'undefined') ? gs_channels : '', 391 allow_comments: 'no', 392 total_comments: '', 393 originating_site_id: '', 394 parent_article_site_id: '', 395 parent_article_id: '', 396 originating_article_id: '', 397 parent_originating_site_id: '', 398 is_original_to_site: '', 399 is_cloned: '', 400 parent_article_url: '', 401 use_skimlinks: 'no', 402 content_primary_topic: '', 403 taxonomy: { 404 article_types: '', 405 topics: '', 406 sports: '', 407 sports_teams: '', 408 locations: '', 409 shared_content: '', 410 free_tags: '', 411 farming: '' 412 }, 413 audio: { 414 has_audio: 'no', 415 provider: '' 416 },
417 article_comments_use_viafoura: '' 418 }, 419 homes: { 420 search_bedrooms_minimum: '', 421 search_location: 'contact', 422 search_price_minimum: '', 423 search_price_maximum: '', 424 list: '', 425 id: '' 426 }, 427 video: { 428 exists: 'no', 429 auto_play_enabled: data_layer_helper.getAutoPlay('no') 430 }, 431 contributions: { 432 allow_text: '', 433 allow_image: '', 434 user_contributions_number: '0', 435 has_user_contributions: 'no' 436 }, 437 search: { 438 keywords: qs.get('search'), 439 results: '' 440 }, 441 announcements: { 442 category: '' 443 }, 444 config: { 445 google_analytics_id: '', 446 site_template_set: 'standard', 447 path: '/contact/', 448 top_level_section: 'contact', 449 polar_property_id: 'NA-REDD-11238149', 450 gallery_show_advert_after: '5', 451 disable_outbrain_with_ad_light: 'no', 452 disable_outbrain: 'no', 453 }, 454 dfp: { 455 is_landing: 'yes', 456 module_path: 'contact', 457 weather_band: '11-15', 458 weather_summary: 'sun'.toLowerCase(), 459 id: data_layer_helper.getGoogleId(), 460 display_screen: data_layer_helper.isMobileScreen() ? 'mobile' : 'desktop', 461 can_show_billboard: (window.screen.width > 960) ? 'y' : 'n' 462 }, 463 dates: { 464 date: (new Date()).toLocaleDateString('en-GB'), 465 hour: (new Date()).getHours(), 466 day: data_layer_helper.getDayOfWeek(), 467 weekend: ((new Date()).getDay() === 6 || (new Date()).getDay() === 0) ? 'Weekend' : 'Weekday' 468 }, 469 memorials: { 470 contact_phone_number: '', 471 contact_email_address: '', 472 publications: JSON.parse('' || '[]'), 473 user: { 474 id: '', 475 email_verified: 'no', 476 type: '' 477 }, 478 funeral_director: { 479 id: '', 480 person_urn: '' 481 } 482 } 483 } 484 485 data_layer_helper.storeCurrentPageName(data_layer.page.name); 486 487 window.dispatchEvent(new Event('data-layer-loaded')) 488 489 data_layer.piano.custom_variables.user_used_app_last_24hours = 'no'; 490 data_layer.piano.custom_variables.user_used_app_last_7days = 'no'; 491 data_layer.piano.custom_variables.user_used_app_last_14days = 'no'; 492 if (data_layer.article.is_article !== 'yes') { 493 data_layer.piano.custom_variables.site_module = 'Newsquest\Modules\ContactUsModule'; 494 data_layer.piano.custom_variables.puzzles_landing_page = 'no'; 495 data_layer.piano.custom_variables.puzzles_display_page = 'no'; 496 } 497</script>
497 498
499<script 500 src="https://assets.adobedtm.com/499440d21de9/54b957ecfb7e/launch-98090dfa3d73.min.js" 501 async 502></script>
502 503 504
505<script>"use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}!function(){var t=function(){var t,e,o=[],n=window,r=n;for(;r;){try{if(r.frames.__tcfapiLocator){t=r;break}}catch(t){}if(r===n.top)break;r=r.parent}t||(!function t(){var e=n.document,o=!!n.frames.__tcfapiLocator;if(!o)if(e.body){var r=e.createElement("iframe");r.style.cssText="display:none",r.name="__tcfapiLocator",r.title="tcfapiLocator",e.body.appendChild(r)}else setTimeout(t,5);return!o}(),n.__tcfapi=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];if(!n.length)return o;"setGdprApplies"===n[0]?n.length>3&&2===parseInt(n[1],10)&&"boolean"==typeof n[3]&&(e=n[3],"function"==typeof n[2]&&n[2]("set",!0)):"ping"===n[0]?"function"==typeof n[2]&&n[2]({gdprApplies:e,cmpLoaded:!1,cmpStatus:"stub"}):o.push(n)},n.addEventListener("message",(function(t){var e="string"==typeof t.data,o={};if(e)try{o=JSON.parse(t.data)}catch(t){}else o=t.data;var n="object"===_typeof(o)&&null!==o?o.__tcfapiCall:null;n&&window.__tcfapi(n.command,n.version,(function(o,r){var a={__tcfapiReturn:{returnValue:o,success:r,callId:n.callId}};t&&t.source&&t.source.postMessage&&t.source.postMessage(e?JSON.stringify(a):a,"*")}),n.parameter)}),!1))};"undefined"!=typeof module?module.exports=t:t()}();</script>
505 506
507<script type = "text/javascript"> 508( function () { 509 510 window._sp_ = { 511 config: { 512 baseEndpoint: 'https://a02342.redditchadvertiser.co.uk', 513 accountId: 52, 514 targetingParams:{ 515 subscribed: false, 516 privacy: false 517 }, 518 gdpr: { }, 519 events: { 520 onMessageReady: function (message_type) { 521 trackSPEvents('event76'); 522 }, 523 onMessageChoiceSelect: function (message_type, choice_id, choice_type_id) { 524 console.log('message_type: ', message_type); 525 console.log('choice_id: ', choice_id); 526 console.log('choice_type_id: ', choice_type_id); 527 if ('yes' === 'yes') { 528 if (choice_type_id === 12) { 529 trackSPEvents('event83'); //Consent Banner Reject All 530 trackSPEvents('event82'); //Journalism Message Shown 531 } 532 if (choice_type_id === 11) { 533 trackSPEvents('event78'); 534 } 535 if (choice_type_id === 9) { 536 trackSPEvents('event77'); 537 } 538 } else { 539 // these are the second argument in non-gate 540 if (choice_type_id === 12) { 541 trackSPEvents('event77'); 542 } 543 544 if (choice_type_id === 11) { 545 trackSPEvents('event78'); 546 } 547 548 if (choice_type_id === 13) { 549 trackSPEvents('event83'); 550 } 551 } 552 }, 553 onPrivacyManagerActionStatus: function(message_type, status, actionType) { 554 console.log('message_type: ' + message_type); 555 console.log('status: ' + status); 556 console.log('actionType: ' + actionType); 557 if ('yes' === 'yes') { 558 if (actionType === 11) { 559 trackSPEvents('event79'); //Privacy Manager Accept 560 } 561 if (actionType === 9) { 562 trackSPEvents('event68'); //Privacy Manager Redirect 563 } 564 if (actionType === 1) { 565 trackSPEvents('event75'); //Forced tcf String Change 566 } 567 } else { 568 // these are the second argument in non-gate 569 if (actionType === 13) { 570 trackSPEvents('event81'); //Privacy Manager Reject 571 } 572 if (actionType === 11) { 573 trackSPEvents('event79'); //Privacy Manager Accept 574 } 575 if (actionType === 1) { 576 trackSPEvents('event80'); //Privacy Manager Save & Exit 577 } 578 } 579 }, 580 onPMCancel: function (message_type) { 581 console.log('onPMCancel', message_type); 582 trackSPEvents('event84'); //Privacy Manager Back 583 }, 584 } 585 } 586 } 587 588 if (typeof window.__tcfapi === 'function') { 589 window.__tcfapi('addEventListener', 2, function (tcData, success) { 590 console.log('SP: Event Listen:', tcData, success); 591 if (success && tcData.eventStatus === 'useractioncomplete') { 592 setTcfCookie(tcData.purpose.consents, tcData.purpose.legitimateInterests); 593 594 var csnt = 'none'; 595 if ($.cookie('_sp_enable_dfp_personalized_ads') === 'true') { 596 csnt = 'yes'; 597 } else if ($.cookie('_sp_enable_dfp_personalized_ads') === 'false') { 598 csnt = 'no'; 599 } 600 googletag.cmd.push(function() { 601 // console.log('DFP: Cookie check - setting dfpcsnt to ', csnt); 602 googletag.pubads().setTargeting('dfpcsnt', csnt); 603 }); 604 // ready to start DFP
605 // console.log('PIANO: setting unrestricted via useractioncomplete'); 606 // runPiano('unrestricted'); 607 startAdvertising(tcData.listenerId); 608 609 var e = new Event('launch:cmp:choice-made'); 610 window.dispatchEvent(e); 611 } else if (success && tcData.eventStatus === 'tcloaded') { 612 // tcloaded means a valid TCF v2.0 string is available 613 // console.log('PIANO: setting unrestricted via tcloaded'); 614 // runPiano('unrestricted'); 615 if (tcData.gdprApplies === false) { 616 $.cookie('_sp_enable_dfp_personalized_ads', 'true', {domain: '.redditchadvertiser.co.uk', path: '/', expires: 100}); 617 } 618 startAdvertising(tcData.listenerId); 619 620 } else if (success && tcData.eventStatus === 'useractionnotcomplete') { 621 // do nothing - this means the user has not made a choice yet 622 } else if (success && tcData.eventStatus === 'cmpuishown') { 623 // do nothing - this means the CMP UI has been shown 624 } else if (!success) { 625 // $.cookie('_sp_enable_dfp_personalized_ads', 'true', {domain: '.redditchadvertiser.co.uk', path: '/', expires: 100}); 626 // startAdvertising(); 627 } else { 628 // console.log('PIANO: setting restricted'); 629 // runPiano('restricted'); 630 } 631 }); 632 } 633 634 635 636 document.addEventListener('click', function (e) { 637 const option = e.target.closest('.gdpr-option-v2'); 638 639 if (!option) return; 640 641 e.preventDefault(); 642 sendEvent76 = false; 643 644 const id = option.dataset.v2Id; 645 const isGate = option.dataset.isGate; 646 647 if (isGate === 'yes') { 648 trackSPEvents('event87'); 649 _sp_.gdpr.loadPrivacyManagerModal(id); 650 } else { 651 trackSPEvents('event77'); 652 _sp_.gdpr.loadPrivacyManagerModal(id); 653 } 654 }); 655 656 function getTcfData() { 657 if (typeof window.__tcfapi !== 'function') { 658 console.warn('TCF API unavailable'); 659 return; 660 } 661 window.__tcfapi('addEventListener', 2, function(data, success) { 662 if (!data.purpose || !data.purpose.consents || !data.purpose.legitimateInterests) { 663 // console.log('DFP: No TCF data found, not setting cookies'); 664 return; 665 } 666 setTcfCookie(data.purpose.consents, data.purpose.legitimateInterests); 667 }, [755]); 668 } 669 getTcfData(); 670 671 function setTcfCookie(data, legitimateInterests) { 672 var consents = []; 673 $.each(data, function(id, consent) { 674 var c = (consent === true) ? 'yes' : 'no'; 675 consents.push(c) 676 }); 677 // console.log('DFP: consents length: ', consents.length); 678 if (consents.length !== 10) { 679 // consents = consents.fill('no', consents.length, 10); 680 for (var i = consents.length; i < 10; i++) { 681 consents[i] = 'no'; 682 } 683 } 684 // console.log('DFP: Found consents to store in cookie:', consents); 685 $.cookie('prev-tcf-v2', consents.join(','), {domain: '.redditchadvertiser.co.uk', path: '/', expires: 100}); 686 687 var consentEvent4 = 'none'; 688 if (typeof data[4] !== 'undefined') { 689 consentEvent4 = data[4] ? 'true' : 'false'; 690 } 691 $.cookie('_sp_enable_dfp_personalized_ads', consentEvent4, {domain: '.redditchadvertiser.co.uk', path: '/', expires: 100}); 692 693 var legitInterest = 'none'; 694 if (legitimateInterests && typeof legitimateInterests[2] !== 'undefined') { 695 legitInterest = legitimateInterests[2] ? 'true' : 'false'; 696 } 697 698 $.cookie('_sp_legitimate_interests', legitInterest , {domain: '.redditchadvertiser.co.uk', path: '/', expires: 100}); 699 } 700 701 var sendEvent76 = true; 702 703 function trackSPEvents(events) { 704 if (events === 'event76' && !sendEvent76) { 705 return; 706 } else if (events === 'event76') { 707 sendEvent76 = false;
708 } 709 710 if (typeof window.s !== 'object') { 711 // console.log('DFP: No window.s object found, trying again in 1 second'); 712 window.setTimeout(function () { trackSPEvents(events)} , 1000); 713 return; 714 } 715 716 // console.log("ADB: Tracking %s", events); 717 // Re-create the Omniture object so the data can be tracked. 718 var s = window.s; 719 720 if (events.indexOf('event70') !== -1) { 721 // console.log('DFP: Events passed, added evars'); 722 s.eVar35 = 'enabled'; 723 s.prop35 = 'enabled'; 724 } 725 726 s.events = events; 727 s.linkTrackEvents = events; 728 s.linkTrackVars = "eVar2,eVar3,eVar4,eVar5,eVar6,evar7,evar8,evar9,eVar16,eVar19,eVar26,eVar35,eVar43,eVar67,prop35"; 729 s.suppressPageView = true; 730 s.tl(true,'o','Ad Block'); 731 } 732 733 function startAdvertising(id) 734 { 735 if (typeof window.doNotAdvertise !== 'undefined' && window.doNotAdvertise === true) { 736 return; 737 } 738 739 // console.log("DFP: Is the page fully loaded?", window.googleReady); 740 if (window.googleReady !== true) { 741 window.setTimeout(function () { 742 // console.log('DFP: Google not fully loaded yet, pausing quarter of a second before trying again'); 743 startAdvertising(id); 744 }, 250); 745 return; 746 } 747 748 // Ensure that we never run this code twice 749 if (window.advertisingStart === true) { 750 return; 751 } 752 // console.log('DFP: Running advertisement'); 753 window.advertisingStart = true; 754 755 var googletag = window.googletag; 756 // init google objects and array 757 (function() { 758 var gads = document.createElement('script'); 759 gads.async = true; 760 gads.type = 'text/javascript'; 761 gads.src = 'https://securepubads.g.doubleclick.net/tag/js/gpt.js'; 762 var node = document.getElementsByTagName('script')[0]; 763 node.parentNode.insertBefore(gads, node); 764 })(); 765 766 // launch the exco slideshow player 767 launchExcoSlideshow(); 768 769 // load facebook etc 770 loadSocials(); 771 772 // Checking our decision to use headerbidding (shorterned as prebid) is correct 773 // via system logic, and that we have the simplified consent to do so 774 if (usePrebid && $.cookie('_sp_enable_dfp_personalized_ads') === 'true') {
775 var e = new Event('launch:sourcepoint:consentaccepted'); 776 window.dispatchEvent(e); 777 778 // AP code initialisation 779 // the script is loaded via launch, once we have detected a consent signal via the datalayer. 780 fetchAp(); 781 782 var site = 'desktop'; 783 var _site = 'desktop'; 784 785 // load IAS scripts and set up vars 786 (function() { 787 var ias = document.createElement('script'); 788 ias.async = true; 789 ias.type = 'text/javascript'; 790 ias.src = 'https://cdn.adsafeprotected.com/iasPET.1.js'; 791 var node = document.getElementsByTagName('script')[0]; 792 node.parentNode.insertBefore(ias, node); 793 })(); 794 795 // load the prebid script 796 (function() { 797 var pbs = document.createElement('script'); 798 pbs.async = true; 799 pbs.type = 'text/javascript'; 800 pbs.src = 'https://micro.rubiconproject.com/prebid/dynamic/11022.js?group=newsquest'; 801 var node = document.getElementsByTagName('script')[0]; 802 node.parentNode.insertBefore(pbs, node); 803 })(); 804 805 // tell google to actually get the bids from all relevant vendors when loaded 806 googletag.cmd.push(function () { 807 fetchHeaderBids(); 808 }); 809 } 810 811 // Outbrain 812 if ( 813 (window.data_layer.user.advertising_experience === 'Ad-Free' || window.data_layer.config.disable_outbrain === 'yes') || 814 (window.data_layer.user.advertising_experience === 'Ad-Light' && window.data_layer.config.disable_outbrain_with_ad_light === 'yes') 815 ) { 816 // console.log("No Outbrain script loading due to page settings"); 817 } else { 818 // console.log("Loading Outbrain"); 819 var ob = document.createElement('script'); 820 ob.async = true; 821 ob.type = 'text/javascript'; 822 ob.src = 'https://widgets.outbrain.com/outbrain.js'; 823 var node = document.getElementsByTagName('script')[0]; 824 node.parentNode.insertBefore(ob, node); 825 } 826 827 828 // remove the listener 829 if (id !== null) { 830 window.__tcfapi('removeEventListener', 2, function (success) { }, id); 831 } 832 } 833 834 /** 835 * Wait until we have advertising consent to show this advertising 836 * based replacement for the single image on our article pages 837 * This logic is based on excoSlidshowPlayerID that only appears on the page 838 * if a user is NOT a subscriber (including privacy plus) and the page has the 839 * correct information to show it (doesn't have a video, not in sport etc) 840 */ 841 function launchExcoSlideshow() { 842 const slideShowPlayerId = window.excoSlideshowPlayerId; 843 // if we do not have a player id, we do not need to do anything 844 if (!slideShowPlayerId) { 845 return; 846 } 847 848 // this is exco's supplied code, modified for our use 849 (function (d, s, n) { 850 fjs = d.getElementsByTagName(s)[0]; 851 js = d.createElement(s); 852 js.className = n; 853 js.src = '//player.ex.co/player/' + slideShowPlayerId; 854 js.setAttribute('programmatic', 'true'); 855 js.onload = function () { 856 const playerApi = ExCoPlayer.connect(slideShowPlayerId); 857 playerApi.init({}); 858 859 playerApi.on('player-load', function(data) { 860 $('.mar-article-image').remove(); 861 if (window.screen.width > 800) { 862 $('.article-hero').attr('style', 'order: 1'); 863 } 864 window.hide_overlay_for_exco = true; 865 }); 866 }; 867 fjs.parentNode.insertBefore(js, fjs); 868 }(document, 'script', 'exco-player')); 869 } 870 871 function loadSocials() 872 { 873 const socials = [ 874 'https://platform.twitter.com/widgets.js', 875 'https://connect.facebook.net/en_US/all.js#xfbml=1', 876 'https://www.tiktok.com/embed.js', 877 ]; 878
879 socials.forEach((social) => { 880 var script = document.createElement('script'); 881 script.src = social; 882 script.async = true; 883 document.getElementsByTagName('head')[0].appendChild(script); 884 }); 885 } 886 887 888})(); 889 890</script>
vendor: 1 bytes, line 890
890
891<script src="https://a02342.redditchadvertiser.co.uk/unified/wrapperMessagingWithoutDetection.js"></script>
891 892
893<script> 894window.usePiano = true; 895window.selectedOfferId = null; 896window.selectedTermId = null; 897</script>
vendor: 1 bytes, line 897
897
898<script> 899document.cookie = "__adblocker=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/"; 900var setNptTechAdblockerCookie = function(adblocker) { 901 var d = new Date(); 902 d.setTime(d.getTime() + 60 * 60 * 24 * 2 * 1000); 903 document.cookie = "__adblocker=" + (adblocker ? "true" : "false") + "; expires=" + d.toUTCString() + "; path=/"; 904} 905var script = document.createElement("script"); 906script.setAttribute("async", true); 907script.setAttribute("src", "//www.npttech.com/advertising.js"); 908script.setAttribute("onerror", "setNptTechAdblockerCookie(true);"); 909document.getElementsByTagName("head")[0].appendChild(script); 910</script>
910 911
912<script> 913// window.pdl = window.pdl || {}; 914// window.pdl.requireConsent = 'v2'; 915 916// Store entry point unless it's a user or subscribe page 917// to redirect after subscription 918const excludedPaths = ['/user/', '/subscribe/']; 919 920const shouldExclude = excludedPaths.some(path => 921 window.location.pathname.includes(path) 922); 923 924if (!shouldExclude) { 925 sessionStorage.setItem( 926 'last_piano_page_interacted_with', 927 window.location.pathname 928 ); 929} 930 931tp = window.tp || []; 932 933function runPiano(restrictedMode) { 934 // console.log('Running Piano with restricted mode:', restrictedMode); 935 // tp.push(['init', function() { 936 // console.log('Piano purpose map, before calling setAllPurposes()', tp.consent.getByPurpose()); 937 // }]); 938 // if (restrictedMode === 'restricted') { 939 // // If we're in restricted mode, we need to set some specific parameters 940 // tp.push(['init', function() { 941 // tp.consent.setAllPurposes('opt-out') 942 // }]); 943 // } else { 944 // tp.push(['init', function() { 945 // tp.consent.setAllPurposes('opt-in') 946 // }]); 947 // } 948 // tp.push(['init', function() { 949 // console.log('Piano purpose map, after calling setAllPurposes()', tp.consent.getByPurpose()); 950 // }]); 951 // init Piano ID 952 tp.push(['init', function() { 953 tp.pianoId.init(); 954 }]); 955 956 const isGooglebot = window.isRobot.googleBot(); 957 958 const isArticle = (data_layer.article.is_article === 'yes'); 959 960 const isCl3 = (parseInt(data_layer.article.content_level, 10) === 3); 961 962 if (isGooglebot) { 963 // we don't load Piano from all non-article pages 964 if (!isArticle) { 965 return; 966 } 967 968 // If we are on an article, we do not load piano on CL0, 1, or 2 969 if (!isCl3) { 970 return; 971 } 972 } 973 Object.keys(data_layer.piano.custom_variables).forEach(function (k) { 974 var v = data_layer.piano.custom_variables[k]; 975 976 if (v != '') { 977 tp.push(["setCustomVariable", k, v]); 978 } 979 }); 980 981 Object.keys(data_layer.piano.native_variables).forEach(function (k) { 982 var v = data_layer.piano.native_variables[k]; 983 if (v != '') { 984 tp.push([k, v]); 985 } 986 }); 987 988 tp.push(['setTags', data_layer.piano.tags]); 989 990 (function(src){ 991 var a=document.createElement("script"); 992 a.type = "text/javascript"; 993 a.async=true; 994 a.src=src; 995 var b=document.getElementsByTagName("script")[0]; 996 b.parentNode.insertBefore(a, b) 997 })("//experience.tinypass.com/xbuilder/experience/load?aid=HtwTxSjqpu"); 998} 999 1000// Init Piano 1001const debug = document.cookie 1002 .split('; ') 1003 .find(row => row.startsWith('debug=')) 1004 ?.split('=')[1]; 1005 1006tp.push(["setDebug", debug === '1']); 1007 1008tp.push(["setApplePayMerchantId", 'merchant.nq.subssites.piano']); 1009 1010tp.push(["setUsePianoIdUserProvider", true ]); 1011 1012tp.push(["addHandler", "loginRequired", function(params) { 1013 // If they're already signed in, we don't need to do anything special. 1014 if (tp.user.isUserValid()) { 1015 return; 1016 } 1017 if (typeof window._overridePianoDefault !== 'undefined' && window._overridePianoDefault !== true) { 1018 console.log("TPL Called") 1019 tp.pianoId.show({ 1020 screen: 'login', 1021 displayMode: 'modal', 1022 loggedIn: (data) => { 1023 pianoId.loggedIn(); 1024 }, 1025 loggedOut: () => { 1026 console.log('TP-TJ: user logged out'); 1027 }, 1028 registrationSuccess: () => { 1029 pianoId.registered(); 1030 }, 1031 width: '500px', 1032 height: '460px', 1033 }); 1034 } 1035}]); 1036 1037tp.push(["addHandler", "checkoutSelectTerm", function (termDetails) { 1038 if (typeof termDetails.termId !== 'undefined') { 1039 window.selectedTermId = termDetails.termId; 1040 } 1041}]); 1042 1043tp.push(["addHandler", "showTemplate", function (templateParams) { 1044 showPianoTarget(templateParams); 1045}]); 1046 1047tp.push(["addHandler", "showOffer", function (offerParams) { 1048 window.shownOffer = true; 1049 1050 // Store some data we might need later. 1051 if (typeof offerParams.offerId !== 'undefined') { 1052 window.selectedOfferId = offerParams.offerId; 1053 } 1054 1055 showPianoTarget(offerParams); 1056}]); 1057 1058function handleFullWidthBanner(selector) { 1059 if (selector === '#po-overlay-articlegate-full-width-full-article-scroll-below') { 1060 document.querySelector(selector).classList.add(selector.replace('#', '')); 1061 } 1062 document.querySelector(selector).style.minHeight = "254px"; 1063 document.querySelector('#subscription-content').style.display = 'none'; 1064 document.querySelectorAll('.send-us-your-news-cta').forEach((el) => { el.style.display = 'none'; }); 1065 document.querySelectorAll('.mega-news-block').forEach((el) => { el.style.display = 'none'; }); 1066 1067 const block = document.querySelector(selector); 1068 const containerBlock = block.parentElement; 1069 const containerBlockHeight = 254; // to prevent abrupt jumping 1070 1071 if (!block) { return; } 1072 1073 block.style.display = 'block'; 1074 1075 const blockRect = block.getBoundingClientRect(); 1076 const startTop = blockRect.top + window.scrollY; 1077 const blockHeight = blockRect.height; 1078 const screenWidth = window.screen.width; 1079 1080 let lastState = ''; // 'top', 'bottom', 'default' 1081 1082 function getScrollbarWidth() { 1083 return window.innerWidth - document.documentElement.clientWidth; 1084 } 1085 1086 function updatePosition() { 1087 const scrollY = window.scrollY;
1088 const viewportHeight = window.innerHeight; 1089 const bottomTrigger = startTop + blockHeight - viewportHeight; 1090 1091 let newState = 'default'; 1092 1093 if (scrollY > startTop && screenWidth >= 768) { 1094 newState = 'top'; 1095 } else if (scrollY < bottomTrigger && screenWidth >= 768) { 1096 newState = 'bottom'; 1097 } else if (scrollY < bottomTrigger + 90 && screenWidth < 768) { 1098 newState = 'bottom-mobile'; 1099 } 1100 1101 const scrollbarWidth = getScrollbarWidth(); 1102 1103 if (newState !== lastState) { 1104 switch (newState) { 1105 case 'top': 1106 block.style.position = 'fixed'; 1107 block.style.top = '0'; 1108 block.style.bottom = 'auto'; 1109 block.style.marginLeft = '0'; 1110 block.style.marginRight = '0'; 1111 containerBlock.style.minHeight = `${containerBlockHeight}px`; 1112 break; 1113 1114 case 'bottom': 1115 block.style.position = 'fixed'; 1116 block.style.bottom = '0'; 1117 block.style.top = 'auto'; 1118 block.style.marginLeft = '0'; 1119 block.style.marginRight = '0'; 1120 block.style.width = `calc(100vw - ${scrollbarWidth}px)`; 1121 containerBlock.style.minHeight = 'unset'; 1122 break; 1123 1124 case 'bottom-mobile': 1125 block.style.position = 'fixed'; 1126 block.style.bottom = '90px'; 1127 block.style.top = 'auto'; 1128 block.style.marginLeft = 'calc(-100vw + 100%)'; 1129 block.style.marginRight = 'calc(-100vw + 100%)'; 1130 containerBlock.style.minHeight = 'unset'; 1131 break; 1132 1133 default: 1134 block.style.position = ''; 1135 block.style.top = ''; 1136 block.style.bottom = ''; 1137 block.style.width = `calc(100vw - ${scrollbarWidth}px)`; 1138 block.style.marginLeft = '-100vw'; 1139 block.style.marginRight = '-100vw'; 1140 containerBlock.style.minHeight = 'unset'; 1141 break; 1142 } 1143 1144 lastState = newState; 1145 } 1146 1147 requestAnimationFrame(updatePosition); 1148 } 1149 1150 updatePosition(); 1151 window.addEventListener('resize', updatePosition); 1152} 1153 1154function trackLocation(forceValidLocation = false) { 1155 var currentLocation = window.location.pathname; 1156 1157 let valid = false; 1158 1159 if (currentLocation.indexOf('puzzles') > -1) { 1160 valid = true; 1161 } 1162 1163 if (currentLocation.indexOf('pagesuite') > -1) { 1164 valid = true; 1165 } 1166 1167 var articleMatch = currentLocation.match(/(\d+)\.[^\/]+\/(r\/)?$/); 1168 if (articleMatch != null) { 1169 valid = true; 1170 } 1171 1172 if (forceValidLocation) { 1173 valid = true; 1174 } 1175 1176 if (currentLocation.indexOf('subscribe') > -1) { 1177 valid = false; 1178 } 1179 1180 if (!valid) { 1181 return; 1182 } 1183 1184 $.cookie('last-piano-page-interacted-with', currentLocation, {path: '/', domain: window.data_layer.site.cookie_domain}); 1185} 1186 1187function trackPianoWithNewRelic(templateName) { 1188 if (this.newrelic && typeof this.newrelic === 'object') { 1189 newrelic.setCustomAttribute('user_was_shown_piano_experience', templateName); 1190 } 1191} 1192 1193function handleOfferShow(params) { 1194 console.log('Piano params', params); 1195 1196 // If on the subscription page and the URL has a term ID and offer ID, show the relevant offer. 1197 if (typeof location.pathname !== 'undefined' && location.pathname === '/subscribe/') { 1198 var offerId = location.search.match(/offer_id=([A-Z0-9]+)/); 1199 if (offerId !== null && offerId.length > 1) { 1200 offerId = offerId[1]; 1201 } 1202 var termId = location.search.match(/term_id=([A-Z0-9]+)/); 1203 if (termId !== null && termId.length > 1) { 1204 termId = termId[1]; 1205 } 1206 if (offerId !== null && termId !== null) { 1207 tp.offer.show({'termId': termId, 'offerId': offerId}); 1208 } 1209 } 1210 1211 // we are only tracking 1212 var templateId = params.templateId; 1213 var variantId = params.templateVariantId; 1214 if (params.containerSelector !== '#po-inline-articlegate-fullarticle' && 1215 params.containerSelector !== '#po-overlay-articlegate-full-width-full-article-scroll-below' && 1216 params.containerSelector !== '#po-inline-articlegate-partialarticle' && 1217 params.containerSelector !== '#po-overlay-articlegate-full-width-scroll-below' 1218 ) { 1219 $.get('/ws/piano/templatename/', {template_id: templateId, variant_id: variantId}, function (response) { 1220 trackPianoSimplified(params, response.name); 1221 }); 1222 return; 1223 } 1224 1225 1226 $.get('/ws/piano/templatename/', {template_id: templateId, variant_id: variantId}, function (response) { 1227 trackPiano(params, response.name); 1228 }); 1229} 1230 1231function trackPiano(params, templateName) { 1232 trackPianoWithNewRelic(templateName); 1233 1234 if (typeof params.activeMeters === 'string') { 1235 activeMeters = JSON.parse(params.activeMeters); 1236 } else { 1237 activeMeters = params.activeMeters; 1238 } 1239 1240 var s = window.s; 1241 if (!s || !s.pageName) { 1242 // console.log("ADB: Setting s from backup"); 1243 s = window.backupAdobe; 1244 window.s = s; 1245 } 1246 1247 // this would call when CL3 is a hard gate 1248 if (!activeMeters && data_layer.article.content_level === '3') { 1249 s.eVar59 = templateName; 1250 s.eVar58 = data_layer.article.content_level; 1251 s.events = "event91"; 1252 s.linkTrackVars="eVar58,eVar2,eVar3,eVar4,eVar5,eVar6,eVar15,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,eVar79,eVar104,eVar106,eVar107,eVar108,eVar118,prop63,list3,events"; 1253 s.linkTrackEvents="event91"; 1254 s.tl(document, 'o', 'Metered Access Notice'); 1255 s.events = ''; 1256 return; 1257 } 1258 1259 if (!activeMeters) { 1260 return; 1261 } 1262 1263 var meterData = activeMeters[0]; 1264 1265 var meterName = meterData.meterName.toLowerCase(); 1266 1267 // track event 5 1268 if (meterName.indexOf('cl1') !== -1 || meterName.indexOf('cl2') !== -1 || meterName.indexOf('cl3') !== -1 || params.containerSelector === '#po-inline-articlegate-partialarticle' || params.containerSelector === '#po-overlay-articlegate-full-width-scroll-below') { 1269 s.eVar58 = data_layer.article.content_level; 1270 s.eVar80 = meterData.meterName + ',' + meterData.views + ',' + meterData.totalViews + ',' + meterData.viewsLeft + ',' + meterData.maxViews; 1271 s.eVar59 = templateName; 1272 s.events = "event5"; 1273 s.linkTrackVars="eVar58,eVar2,eVar3,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,prop63,eVar80,eVar79,eVar118,list3, events"; 1274 s.linkTrackEvents="event5"; 1275 } else { 1276 s.eVar80 = meterData.meterName + ',' + meterData.views + ',' + meterData.totalViews + ',' + meterData.viewsLeft + ',' + meterData.maxViews; 1277 s.eVar59 = templateName; 1278 s.linkTrackVars="eVar2,eVar3,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,prop63,eVar80,eVar79,eVar118,list3, events"; 1279 } 1280 s.tl(document, 'o', 'Metered Access Notice'); 1281 s.events = ''; 1282 1283} 1284 1285/** 1286 * Just track the template name in 78 for non-article-interrupts/gates 1287 */ 1288function trackPianoSimplified(params, templateName) 1289{ 1290 trackPianoWithNewRelic(templateName); 1291 1292 var s = window.s; 1293 if (!s || !s.pageName) { 1294 // console.log("ADB: Setting s from backup"); 1295 s = window.backupAdobe; 1296 window.s = s; 1297 } 1298 s.eVar78 = templateName; 1299 s.events = 'event90'; 1300 s.linkTrackEvents="event90"; 1301 s.linkTrackVars="eVar2,eVar3,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,prop63,eVar80,eVar79,eVar118,list3,eVar78, events"; 1302 s.tl(document, 'o', 'Piano Template'); 1303} 1304 1305function raiseLaunchEvent(name) {
1306 var e = new Event('launch:piano:' + name); 1307 window.dispatchEvent(e); 1308} 1309 1310function removePianoToast() { 1311 setTimeout(() => { 1312 document.getElementById('po-overlay-toast-left').remove() 1313 }, 30000) 1314} 1315 1316function showPianoTarget(params) { 1317 handleOfferShow(params); 1318 trackLocation(); 1319 1320 if ($(params.containerSelector).length > 0) { 1321 const displayType = $(params.containerSelector).attr('data-display'); 1322 1323 if (displayType) { 1324 $(params.containerSelector).addClass(`shown-${displayType}`); 1325 } else { 1326 $(params.containerSelector).addClass('shown').show(); 1327 } 1328 1329 if ($(params.containerSelector).hasClass('piano--block-level') || $(params.containerSelector).hasClass('piano--inside-block')) { 1330 $(params.containerSelector).show(); 1331 } 1332 1333 if ( 1334 params.containerSelector === '#po-overlay-articlegate-full-width-scroll-below' || 1335 params.containerSelector === '#po-overlay-articlegate-full-width-full-article-scroll-below' 1336 ) { 1337 handleFullWidthBanner(params.containerSelector); 1338 } 1339 1340 if ($(params.containerSelector) === '#po-inline-subscribe-page') { 1341 $(params.containerSelector).show(); 1342 } 1343 1344 if (['#po-inline-blocksystem-target-e'].includes(params.containerSelector)) { 1345 $('#po-inline-blocksystem-target-e').show(); 1346 $('.piano-promo-container').show(); 1347 } 1348 1349 if (params.containerSelector === '#po-overlay-toast-left') { 1350 removePianoToast() 1351 } 1352 1353 if (params.containerSelector === '#po-overlay-toast-main-navigation') { 1354 removePianoToast() 1355 } 1356 1357 if (params.containerSelector === '#po-inline-articlewall-partialarticle-closable') { 1358 $('#po-inline-articlegate-partialarticle').css('display', 'none'); 1359 } 1360 1361 if (params.containerSelector === '#po-inline-articlewall-fullarticle-closable') { 1362 $('#po-inline-articlegate-fullarticle').css('display', 'none'); 1363 } 1364 1365 if (params.containerSelector === '#po-overlay-articlegate-full-width-full-article-scroll-below-closable') { 1366 $('#po-overlay-articlegate-full-width-full-article-scroll-below').css('display', 'none'); 1367 } 1368 } 1369} 1370 1371tp.push(["addHandler", "checkoutComplete", function(conversion) { 1372 var s = window.s; 1373 s.events = s.apl(s.events, "event4", ",", 1); // Set the subscription counter event. 1374 s.events = s.apl(s.events, "purchase", ",", 1); // Set the purchase event. 1375 s.products = "Subscription : Metered Access;" + conversion.termId + ";1;"+conversion.chargeAmount; 1376 s.linkTrackEvents = "event4,purchase"; 1377 s.purchaseID = conversion.termConversionId; 1378 s.pageName = '(www) /subscribe/complete/'; 1379 // wipe out errors 1380 s.eVar31 = ''; 1381 s.linkTrackVars="eVar2,eVar3,eVar5,eVar6,eVar7,eVar8,eVar9,eVar10,eVar15,eVar16,eVar17,eVar18,eVar19,eVar20,eVar22,eVar23,eVar24,eVar25,eVar26,eVar61,eVar62,events,products,purchaseID"; 1382 1383 s.tl(true, 'o', 'Subscription'); 1384 1385 $.cookie('resourceConverted', conversion.rid, {path: '/', domain: window.data_layer.site.cookie_domain}); 1386 $.cookie('pianoConverted', '1', {path: '/', domain: window.data_layer.site.cookie_domain}); 1387 raiseLaunchEvent('checkoutComplete'); 1388 1389 // Clean Session Storage 1390 sessionStorage.removeItem('nq_selected_offer_id'); 1391 sessionStorage.removeItem('nq_selected_term_id'); 1392 sessionStorage.removeItem('nq_adobe_tracking_article_dimensions'); 1393 sessionStorage.removeItem('nq_adobe_tracking_visiting_dimensions'); 1394 1395 // Show Onboarding modal after subscription 1396 const lastPage = sessionStorage.getItem('last_piano_page_interacted_with'); 1397 const baseUrl = lastPage || window.location.href; 1398 1399 const url = new URL(baseUrl, window.location.origin); 1400 url.searchParams.set('show-onboarding', 'yes'); 1401 1402 setTimeout(() => { 1403 window.location.href = url.pathname + url.search; 1404 }, 2000); 1405}]); 1406 1407tp.push(["addHandler", "checkoutPaymentError", function(errorData) { 1408 var s = window.s; 1409 s.pageName = '(www) /subscribe/error/'; 1410 s.eVar31 = errorData.message; 1411 s.tl(true, 'o', 'CheckoutPaymentError'); 1412 1413 raiseLaunchEvent('checkoutPaymentError'); 1414}]); 1415 1416tp.push(["addHandler", "checkoutError", function(errorData) { 1417 var s = window.s; 1418 s.pageName = '(www) /subscribe/error/'; 1419 s.eVar31 = errorData.message; 1420 s.tl(true, 'o', 'CheckoutError'); 1421 raiseLaunchEvent('checkoutError'); 1422}]); 1423 1424tp.push(["addHandler", "startCheckout", function(options) { 1425 sessionStorage.setItem("nq_selected_offer_id", options.offerId); 1426 sessionStorage.setItem("nq_selected_term_id", options.termId); 1427 1428 if (!tp.user.isUserValid()) { 1429 window.location = '/user/create-account/subscribe/'; 1430 return; 1431 } 1432 1433 var s = window.s; 1434 s.eVar2 = '(www) /subscribe/payment/'; 1435 s.pageName = '(www) /subscribe/payment/'; 1436 const storedAdobeArticleDimensions = sessionStorage.getItem('nq_adobe_tracking_article_dimensions'); 1437 const storedAdobeVisitingDimensions = sessionStorage.getItem('nq_adobe_tracking_visiting_dimensions'); 1438 if (storedAdobeVisitingDimensions) { 1439 const storedAdobeVisitingDimensionsObj = JSON.parse(storedAdobeVisitingDimensions); 1440 s.eVar10 = storedAdobeVisitingDimensionsObj.eVar10; 1441 s.eVar22 = storedAdobeVisitingDimensionsObj.eVar22; 1442 s.eVar23 = storedAdobeVisitingDimensionsObj.eVar23; 1443 s.eVar24 = storedAdobeVisitingDimensionsObj.eVar24; 1444 } 1445 if (storedAdobeArticleDimensions) { 1446 const storedAdobeArticleDimensionsObj = JSON.parse(storedAdobeArticleDimensions); 1447 s.eVar10 = storedAdobeArticleDimensionsObj.eVar10; 1448 s.eVar15 = storedAdobeArticleDimensionsObj.eVar15; 1449 s.eVar22 = storedAdobeArticleDimensionsObj.eVar22; 1450 s.eVar23 = storedAdobeArticleDimensionsObj.eVar23; 1451 s.eVar24 = storedAdobeArticleDimensionsObj.eVar24; 1452 s.eVar25 = storedAdobeArticleDimensionsObj.eVar25; 1453 } 1454 // wipe out errors 1455 s.eVar31 = ''; 1456 s.events = ''; 1457 raiseLaunchEvent('startCheckout'); 1458 s.linkTrackVars="eVar10,eVar15,eVar22,eVar23,eVar24,eVar25"; 1459 s.t(); 1460}]); 1461 1462tp.push(["addHandler", "checkoutClose", function(conversion) { 1463 raiseLaunchEvent('checkoutClose'); 1464 1465 // Did they abandon the cart? If so: was anything in their cart?
1466 if (typeof conversion.state === 'undefined' || conversion.state !== 'close') { 1467 return; 1468 } 1469 if (window.selectedOfferId === null || window.selectedTermId === null) { 1470 return; 1471 } 1472 $.post('/ws/piano/abandoned-cart/', {offer_id: window.selectedOfferId, term_id: window.selectedTermId}); 1473}]); 1474 1475tp.push(["addHandler", "meterExpired", function(meterData){ 1476 var msg = "<div><b>meterName:</b> " + meterData.meterName 1477 + " | <b>views:</b> " + meterData.views 1478 + " | <b>totalViews:</b> " + meterData.totalViews 1479 + " | <b>viewsLeft:</b> " + meterData.viewsLeft 1480 + " | <b>maxViews:</b> " + meterData.maxViews 1481 + " | <b>callback:</b> " + meterData.callback + '</div>'; 1482 if ($.cookie('nq-show-piano-viewer') === 'yes') { 1483 $('#piano-meter-value').html(msg); 1484 $('#piano-meter-display').show(); 1485 $('#piano-meter-display-content').append(msg); 1486 } 1487 var cVal = window.location.href; 1488 1489 trackLocation(true); 1490 1491 console.log("Piano Meter Expired:", meterData.meterName); 1492 if (meterData.meterName === 'CL1 Meter') { 1493 console.log("Piano: Setting meter expired cookie"); 1494 $.cookie('isMeterExpired', 'yes', {path: '/', domain: window.data_layer.site.cookie_domain, expires: 1}); 1495 } 1496 1497 raiseLaunchEvent('meterExpired'); 1498 1499}]); 1500 1501tp.push(["addHandler", "meterActive", function(meterData){ 1502 var msg = "<div><b>meterName:</b> " + meterData.meterName 1503 + " | <b>views:</b> " + meterData.views 1504 + " | <b>totalViews:</b> " + meterData.totalViews 1505 + " | <b>viewsLeft:</b> " + meterData.viewsLeft 1506 + " | <b>maxViews:</b> " + meterData.maxViews 1507 + " | <b>callback:</b> " + meterData.callback + '</div>'; 1508 if ($.cookie('nq-show-piano-viewer') === 'yes') { 1509 $('#piano-meter-value').html(msg); 1510 $('#piano-meter-display').show(); 1511 $('#piano-meter-display-content').append(msg); 1512 } 1513 1514 console.log("Piano Meter running total:", meterData.meterName, meterData.totalViews, meterData.maxViews, meterData); 1515 if (meterData.meterName === 'CL1 Meter' && meterData.totalViews >= meterData.maxViews) { 1516 $.cookie('isMeterExpired', 'yes', {path: '/', domain: window.data_layer.site.cookie_domain, expires: 1}); 1517 } else { 1518 $.cookie('isMeterExpired', 'no', {path: '/', domain: window.data_layer.site.cookie_domain, expires: 1}); 1519 } 1520}]); 1521 1522 1523tp.push(["setCxenseSiteId", "3608832627821874621"]); 1524 1525 1526runPiano('unrestricted'); 1527 1528</script>
1528 1529 1530 1531 1532 <link rel="apple-touch-icon" href="/resources/images/17399578/"> 1533 <link rel="apple-touch-icon" sizes="72x72" href="/resources/images/17399577/"> 1534 <link rel="apple-touch-icon" sizes="114x114" href="/resources/images/17399579/"> 1535 1536 1537 <!-- Add iconify --> 1538
1538<script src="https://code.iconify.design/1/1.0.7/iconify.min.js" integrity="sha384-jQq64HqdQD5xg0PPkpkCOW3x8Nsfx5UT1qWOpoJxLYy6Ef+5i+8xPoAj/I3B+ZMm" crossorigin="anonymous"></script>
1538 1539</head> 1540<body class="sticky-footer" data-cache-buster="vjoPdzgg" data-template="" data-template-colour="Blue" data-namespace="standard"> 1541 <!-- 1542 ##+ +## ##: `#####. ####### ### ### ###### `#####. ####### ### ,## +##### 1543 +## ###' ## ####### ######## ### ### ###### ####### ######## ### ,## ######: 1544 .## #### ## ### ### ### ### ###### ##, ### ### ### ### ### ,## ##` 1545 ##,#+##:## ### ### ####### ###### #####+ ### ### ####### ### ,## +##### 1546 ####`####+ ### ### ###### ####### #####+ ### ### ###### ### ,## #### 1547 #### .###. '## ##' ### ### ### ,##: ##, '## ##' ### ### ### ### '## +## 1548 :### ### ####### ### `##+ ### ### ##, ####### ### `##+ `####### ######+ 1549 ##: ### ##### ### ### ### ,### ##, ##### ### ### ##### ####+ 1550 1551Developers, designers, testers - interested in working for us? 1552Contact this guy....https://uk.linkedin.com/in/hillsimon 1553--> 1554 1555 1556 <div style="height: 0px"><div id="DFP_out_of_page"></div></div> 1557 1558 <div id="paywallWindowOverlay"></div> 1559 1560 1561 1562 <div id="takeover"> 1563 <div id="martini-config" class="layout"> 1564 <div id="header-content"> 1565 <!-- standard - header-1.html --> <header id="site-header" class="site-header site-header--1 header-bottom-margin" > 1566 1567 <div class="header-topnav" role="navigation" aria-label="top-navigation"> 1568 1569 <div class="container-inner-width"> 1570 <div class="header-topnav-links"> 1571 <ul class="list-style-none"> 1572 <li><a class="mar-nav--promo-link" href="/announcements/public_notices/">Public notices</a></li> <li><a class="mar-nav--promo-link" href="/newsletters/">Newsletters</a></li> <li><a class="mar-nav--promo-link" href="/jobs/">Jobs</a></li> <li><a class="mar-nav--promo-link" href="/advertising/">Book an ad</a></li> <li><a class="mar-nav--promo-link" href="/cars/">Cars</a></li> <li><a class="mar-nav--promo-link" href="/homes/">Homes</a></li> <li><a class="mar-nav--promo-link" href="https://directory.redditchadvertiser.co.uk/" target="blank">Local listings</a></li> <li><a class="mar-nav--promo-link" href="/li/">Local info</a></li> 1573 </ul> 1574 </div> 1575 <ul id="links-nav" class="header-topnav--links-nav list-style-none"> 1576 <li class="links-nav-label"><span class="links-nav-label-text">More</span> 1577 <ul class="list-style-none"> 1578 <li class="dropdown-icon-closed"> 1579 <span class="iconify" data-icon="akar-icons:chevron-down"></span> 1580 </li> 1581 <li class="dropdown-icon-open" style="display: none;"> 1582 <span class="iconify" data-icon="akar-icons:chevron-up"></span> 1583 </li> 1584 1585 <li class="links-nav-container"> 1586 <ul class="list-style-none"> 1587 <li><a class="mar-nav--promo-link" href="/announcements/public_notices/">Public notices</a></li> <li><a class="mar-nav--promo-link" href="/newsletters/">Newsletters</a></li> <li><a class="mar-nav--promo-link" href="/jobs/">Jobs</a></li> <li><a class="mar-nav--promo-link" href="/advertising/">Book an ad</a></li> <li><a class="mar-nav--promo-link" href="/cars/">Cars</a></li> <li><a class="mar-nav--promo-link" href="/homes/">Homes</a></li> <li><a class="mar-nav--promo-link" href="https://directory.redditchadvertiser.co.uk/" target="blank">Local listings</a></li> <li><a class="mar-nav--promo-link" href="/li/">Local info</a></li> 1588 </ul> 1589 </li> 1590 </ul> 1591 </li> 1592 </ul> 1593 </div> 1594 1595 </div> 1596 1597 <div class="site-brand container-inner-width"> 1598 <div class="site-brand__container"> 1599 <a href="/"> 1600 <img src="/resources/images/small_site_logo/" alt="Redditch Advertiser" class="site-brand__brand-image"/> 1601 </a> 1602 </div> 1603 <div class="simple-header-top-navigation"> 1604 <div class="simple-header-top-navigation__links"> 1605 1606 <div class="simple-header-top-navigation__links--primary-links header-primary-links"> 1607 1608 1609 1610 <ul class="list-style-none top-nav-overflow"> 1611 <li><a href="/newsletters/" class="mar-btn mar-btn--promo-primary">Newsletters</a></li> 1612 </ul> 1613 1614 </div> 1615 1616 1617 1618 <div class="simple-header-top-navigation__links--classifieds"> 1619 1620 </div> 1621 1622 1623 1624 </div> 1625 1626 <div class="simple-header-top-navigation__links--account"> 1627 1628 <a id="user-login-not-loggedin" href="/user/login/?redirect_url=/user/account/" class="simple-header-top-navigation__user-login mar-btn" title="User Account"> 1629 <div aria-label="User Account Button" id="headerUserAccountButton"> 1630 <svg xmlns="http://www.w3.org/2000/svg " width="14" height="16" viewB
1630ox="0 0 10 14" fill="none"> 1631<circle cx="5" cy="3.85718" r="3" fill="black"/> 1632<ellipse cx="5" cy="10.2857" rx="5" ry="2.85714" fill="black"/> 1633</svg> 1634 </div> 1635 </a> 1636 1637 </div> 1638 1639 1640 <button aria-expanded="false" aria-label="Open the menu" class="simple-header-top-navigation__mega-menu-btn primary-nav__menu--more-btn"> 1641 <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M3 6h18M3 12h18M3 18h18"/></svg> 1642 </button> 1643 1644</div> 1645 </div> 1646 1647 <div id="mega-menu" class="mega-menu" style="display: none;"> 1648 <div class="mega-menu__container mega-menu__wrapper"> 1649 <div class="mega-menu__cancel-button"> 1650 <i aria-expanded="true" aria-hidden="true" aria-label="Close the menu" class="mega-menu__cancel-button--icon"> 1651 <span class="iconify" data-icon="eva:close-fill" data-inline="false"></span> 1652 <div>Close</div> 1653 </i> 1654 </div> 1655 1656 1657 1658 1659 <div class="mega-menu__features expanded-sub-nav"> 1660 <div class="mega-menu__features--links"> 1661 1662 <h4 class="prefix mega-menu__features--prefix link-item">featured</h4> 1663 1664 <a href="https://www.worcesternews.co.uk/health-and-social-care-awards/" target="_blank" class="col link-item">Health & Social Care Awards</a> 1665 1666 1667 <a href="https://www.worcesternews.co.uk/worcestershireeducationawards/" target="_blank" class="col link-item">Education Awards</a> 1668 1669 </div> 1670 <hr class="divider none"> 1671 </div> 1672 1673 1674 <div class="mega-menu__search"> 1675 <form method="get" action="/search/"> 1676 <label class="mega-menu__search--title" for="searchbar-input">Search</label> 1677 <div class="mega-menu__search--bar"> 1678 <input id="searchbar-input" class="searchbar-input" type="text" name="search" placeholder="Search Redditch Advertiser"> 1679 <button class="searchbar-btn mira-search-button" type="submit"><span class="iconify" data-icon="fe:search" data-inline="false"></span></button> 1680 </div> 1681 </form> 1682 </div> 1683 1684 <div class="mega-menu__main-list link-list"> 1685 <div class="mega-menu__main-list--list-item"> 1686 <div> 1687 <div> 1688 <a href="/news/"> 1689 <h3><span class="mega-menu__main-list--parent-link">News</span></h3> 1690 </a> 1691 </div> 1692 1693 <div class="mega-menu__main-list--child-links"> 1694 <div class="child-item"> 1695 <a href="/news/local/">Local</a> 1696 </div> 1697 1698 1699 <div class="child-item"> 1700 <a href="/news/yourletters/">Letters</a> 1701 </div> 1702 1703 1704 <div class="child-item"> 1705 <a href="/news/crime/">Crime</a> 1706 </div> 1707 </div> 1708 1709 </div> 1710 <div class="divider"></div> 1711 </div> 1712 1713 1714 <div class="mega-menu__main-list--list-item"> 1715 <div> 1716 <div> 1717 <a href="/sport/"> 1718 <h3><span class="mega-menu__main-list--parent-link">Sport</span></h3> 1719 </a> 1720 </div> 1721 1722 <div class="mega-menu__main-list--child-links"> 1723 <div class="child-item"> 1724 <a href="/sport/wccc/">WCCC</a> 1725 </div> 1726 1727 1728 <div class="child-item"> 1729 <a href="/sport/warriors/">Warriors</a> 1730 </div> 1731 1732 1733 <div class="child-item"> 1734 <a href="/sport/national/">UK Sport News</a> 1735 </div> 1736 </div> 1737 1738 </div> 1739 <div class="divider"></div> 1740 </div> 1741 1742 1743 <div class="mega-menu__main-list--list-item"> 1744 <div> 1745 <div> 1746 <a href="/eeditions/"> 1747 <h3><span class="mega-menu__main-list--parent-link">E-editions</span></h3> 1748 </a> 1749 </div> 1750 1751 <div class="mega-menu__main-list--child-links"> 1752 <div class="child-item"> 1753 <a href="/eeditions/all/">All</a> 1754 </div> 1755 1756 1757 <div class="child-item"> 1758 <a href="/eeditions/connect/">Connect</a> 1759 </div> 1760 1761 1762 <div class="child-item"> 1763 <a href="/eeditions/living/">Living Magazine</a> 1764 </div> 1765 1766 1767 <div class="child-item"> 1768 <a href="/eeditions/prime/">Prime</a> 1769 </div> 1770 1771 1772 <div class="child-item"> 1773 <a href="/eeditions/tcf/">Three Counties Farmer</a> 1774 </div> 1775 </div> 1776 1777 </div> 1778 <div class="divider"></div> 1779 </div> 1780 1781 1782 <div class="mega-menu__main-list--list-item"> 1783 <div> 1784 <div> 1785 <a href="/leisure/"> 1786 <h3><span class="mega-menu__main-list--parent-link">What's On</span></h3> 1787 </a> 1788 </div> 1789 1790 <div class="mega-menu__main-list--child-links"> 1791 <div class="child-item"> 1792 <a href="/leisure/local-events/">Local Events</a> 1793 </div> 1794 1795 1796 <div class="child-item"> 1797 <a href="/leisure/whats_on/">What's On</a> 1798 </div> 1799 1800 1801 <div class="child-item"> 1802 <a href="/leisure/base_sessions/">Base Sessions</a> 1803 </div> 1804 1805 1806 <div class="child-item"> 1807 <a href="/leisure/showbiz/">Showbiz</a> 1808 </div> 1809 </div> 1810 1811 </div> 1812 <div class="divider"></div> 1813 </div> 1814 1815 1816 <div class="mega-menu__main-list--list-item"> 1817 <div> 1818 <div> 1819 <a href="/notices/"> 1820 <h3><span class="mega-menu__main-list--parent-link">Notices</span></h3> 1821 </a> 1822 </div> 1823 1824 <div class="mega-menu__main-list--child-links"> 1825 <div class="child-item"> 1826 <a href="/notices/bereavement-guide/">Bereavement Guide</a> 1827 </div> 1828 </div> 1829 1830 </div> 1831 <div class="divider"></div> 1832 </div> 1833 1834 1835 <div class="mega-menu__main-list--list-item"> 1836 <div> 1837 <div> 1838 <a href="/advertising/"> 1839 <h3><span class="mega-menu__main-list--parent-link">Book an ad</span></h3> 1840 </a> 1841 </div> 1842 1843 </div> 1844 <div class="divider"></div> 1845 </div> 1846 1847 1848 <div class="mega-menu__main-list--list-item"> 1849 <div> 1850 <div> 1851 <a href="/travellatest/"> 1852 <h3><span class="mega-menu__main-list--parent-link">Travel Update</span></h3> 1853 </a> 1854 </div> 1855 1856 </div> 1857 <div class="divider"></div> 1858 </div> 1859 1860 1861 <div class="mega-menu__main-list--list-item"> 1862 <div> 1863 <div> 1864 <a href="/young-reporter/"> 1865 <h3><span class="mega-menu__main-list--parent-link">Young Reporter</span></h3> 1866 </a> 1867 </div> 1868 1869 </div> 1870 <div class="divider"></div> 1871 </div> 1872 1873 1874 <div class="mega-menu__main-list--list-item"> 1875 <div> 1876 <div> 1877 <a href="/newspaper-archive/"> 1878 <h3><span class="mega-menu__main-list--parent-link">Newspaper Archive</span></h3> 1879 </a> 1880 </div> 1881 1882 </div> 1883 <div class="divider"></div> 1884 </div> 1885 </div> 1886 </div> 1887 1888 <div class="mega-menu__sticky"> 1889 <ul class="list-style-none mega-menu__sticky--list"> 1890 <div class="mega-menu__sticky--primary-links"> 1891 1892 <li><a href="/newsletters/" class="mar-btn mar-btn--promo-primary">Newsletters</a></li> 1893 </div> 1894 <li><a class="mar-nav--promo-link" href="/announcements/public_notices/">Public notices</a></li> <li><a class="mar-nav--promo-link" href="/newsletters/">Newsletters</a></li> <li><a class="mar-nav--promo-link" href="/jobs/">Jobs</a></li> <li><a class="mar-nav--promo-link" href="/advertising/">Book an ad</a></li> <li><a class="mar-nav--promo-link" href="/cars/">Cars</a></li> <li><a class="mar-nav--promo-link" href="/homes/">
1894Homes</a></li> <li><a class="mar-nav--promo-link" href="https://directory.redditchadvertiser.co.uk/" target="blank">Local listings</a></li> <li><a class="mar-nav--promo-link" href="/li/">Local info</a></li> 1895 </ul> 1896 </div> 1897</div> 1898 1899 1900 <!-- standard - SimplePrimaryNavigation.html --> <nav aria-label="Main navigation" id="primary-nav" class="primary-nav"> 1901 <div class="primary-nav__container container-inner-width"> 1902 <span class="primary-nav__left"> 1903 <nav class="primary-nav__menu"> 1904 <div class="primary-nav__menu-container"> 1905 <div class="primary-nav__menu--item"> 1906 <a class="primary-nav__menu--link" href="/news/">News</a> 1907 </div> 1908 1909 1910 <div class="primary-nav__menu--item"> 1911 <a class="primary-nav__menu--link" href="/sport/">Sport</a> 1912 </div> 1913 1914 1915 <div class="primary-nav__menu--item"> 1916 <a class="primary-nav__menu--link" href="/eeditions/">E-editions</a> 1917 </div> 1918 1919 1920 <div class="primary-nav__menu--item"> 1921 <a class="primary-nav__menu--link" href="/leisure/">What's On</a> 1922 </div> 1923 1924 1925 <div class="primary-nav__menu--item"> 1926 <a class="primary-nav__menu--link" href="/notices/">Notices</a> 1927 </div> 1928 1929 1930 <div class="primary-nav__menu--item"> 1931 <a class="primary-nav__menu--link" href="/advertising/">Book an ad</a> 1932 </div> 1933 1934 1935 <div class="primary-nav__menu--item"> 1936 <a class="primary-nav__menu--link" href="/travellatest/">Travel Update</a> 1937 </div> 1938 1939 1940 <div class="primary-nav__menu--item"> 1941 <a class="primary-nav__menu--link" href="/young-reporter/">Young Reporter</a> 1942 </div> 1943 1944 1945 <div class="primary-nav__menu--item"> 1946 <a class="primary-nav__menu--link" href="/newspaper-archive/">Newspaper Archive</a> 1947 </div> 1948 </div> 1949 </nav> 1950 </span> 1951 <span class="primary-nav__right"> 1952 <div class="primary-nav__menu--more-btn"> 1953 <button aria-expanded="false" aria-label="Open the menu" class="more-link more-burger-icon"> 1954 <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M3 6h18M3 12h18M3 18h18"/></svg> 1955 </button> 1956 </div> 1957 <div class="primary-nav__right--search"> 1958 <a class="primary-nav__container--search-icon search-icon" href="#" aria-label="Search for article"><span class="iconify" data-icon="ion:search-circle-sharp" data-inline="false"></span></a> 1959 </div> 1960 </span> 1961 </div> 1962</nav> 1963 1964 1965 1966 1967 1968 1969</header> 1970 </div> 1971 1972 <div id="redesign-content"> 1973 <div id="module-content" class="content"> 1974 <div class="piano--block-level block-bottom-margin" id="po-inline-banner-top-hero-content"></div> 1975 1976 1977 <!-- standard - ContactUs.html --> <div class="block-contact-us" aria-labelledby="contact-help-heading"> 1978 <h1 id="contact-help-heading" class="block-heading">Contact & Help</h1> 1979 <p class="block-contact-us__intro"> 1980 In need of help, support, or need to contact us, hopefully you’ll find the information you need below... 1981 </p> 1982 1983 <h2 class="block-heading" id="customer-support-heading">Customer Support</h2> 1984 <div class="block-contact-us__cta-section" aria-labelledby="customer-support-heading"> 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 <div class="cta-item"> 1996 <a href="/contact/faq/general-support/" class="mar-btn mar-btn--md mar-btn--dark">General Support</a> 1997 <p>Help & questions about technical, account, or any other issues you may be experiencing with any of 1998 our products</p> 1999 </div> 2000 </div> 2001 2002 <div class="block-contact-us__grid_container"> 2003 <div> 2004 <div class="social-field" style="display: none;"> 2005 <p class="social-field-text">Follow us</p> 2006 <!-- standard - SocialBar.html --> <div class="social-bar "> 2007 <!-- standard - SocialShareButton.html --> <div 2008 aria-label="Share" 2009 class="social-share-button mar-btn" 2010 id="social-share-button"> 2011 <p class="social-share-button__text" aria-label="Share">Share</p> 2012 <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
2012ox="0 0 16 16" fill="none"> 2013 <path d="M11.6113 1.5C11.9036 1.49999 12.1919 1.57147 12.4535 1.70882C12.7152 1.84616 12.943 2.04562 13.119 2.2915C13.2951 2.53738 13.4146 2.82297 13.4682 3.12578C13.5217 3.4286 13.5079 3.74038 13.4277 4.0366C13.3475 4.33281 13.2032 4.60537 13.006 4.83282C12.8089 5.06027 12.5644 5.23641 12.2918 5.34737C12.0191 5.45834 11.7257 5.5011 11.4347 5.47229C11.1437 5.44348 10.863 5.34389 10.6148 5.18135C10.595 5.195 10.5746 5.20756 10.5536 5.21899L5.94303 7.73788C5.94569 7.80155 5.94569 7.86531 5.94303 7.92897L5.95196 7.93476L10.3586 10.6867C10.688 10.379 11.109 10.2021 11.5489 10.1867C11.9889 10.1714 12.4201 10.3184 12.7681 10.6025C13.1161 10.8865 13.3591 11.2898 13.455 11.7425C13.5509 12.1953 13.4937 12.6691 13.2933 13.0822C13.0929 13.4953 12.762 13.8216 12.3576 14.0048C11.9532 14.1881 11.5008 14.2167 11.0785 14.0857C10.6562 13.9548 10.2906 13.6725 10.0447 13.2877C9.79893 12.9029 9.68839 12.4396 9.73221 11.978L5.37504 9.25791C5.10887 9.53171 4.77193 9.71659 4.40645 9.78938C4.04098 9.86216 3.66325 9.81961 3.32064 9.66705C2.97802 9.51449 2.68577 9.25872 2.48054 8.93181C2.27531 8.6049 2.16624 8.22141 2.167 7.82943C2.16775 7.43745 2.27831 7.05444 2.4848 6.72841C2.69129 6.40239 2.98453 6.14787 3.32773 5.99679C3.67093 5.8457 4.04882 5.80477 4.41401 5.87912C4.7792 5.95347 5.11543 6.1398 5.38053 6.41474L9.78647 4.00731C9.71119 3.71225 9.70138 3.40289 9.7578 3.10318C9.81421 2.80348 9.93533 2.52149 10.1118 2.27906C10.2882 2.03662 10.5153 1.84025 10.7753 1.70515C11.0354 1.57005 11.3214 1.49985 11.6113 1.5Z" fill="#222222"/> 2014 </svg> 2015</div> 2016 2017 2018 2019 2020</div> 2021 2022 </div> 2023 <div class="block-contact-us__grid_container--card" aria-labelledby="main-details-heading"> 2024 <div id="main-details-heading" class="block-contact-us__grid_container--card-heading block-heading">Main 2025 Details</div> 2026 2027 <div class="block-contact-us__grid_container--card-title">Address:</div> 2028 <address class="block-contact-us__grid_container--card-small-text"> 2029 2030 Redditch Advertiser, 2031 2032 2033 Dudley Court South, 2034 2035 2036 Level Street, 2037 2038 2039 Brierley Hill, 2040 2041 2042 West Midlands, 2043 2044 2045 DY5 1XN 2046 2047 </address> 2048 2049 <div class="block-contact-us__grid_container--card-title block-contact-us__spacing ">Telephone:</div> 2050 <div class="block-contact-us__grid_container--card-small-text"> 2051 <a href="tel:(01384) 358050" 2052 aria-label="Call (01384) 358050">(01384) 358050</a> 2053 </div> 2054 2055 2056 2057 <div class="block-contact-us__grid_container--card-panel"> 2058 Inside the newsroom - 2059 <a href="/author/journalists/"> View all our journalists</a> 2060 </div> 2061 2062 <div class="block-contact-us__grid_container--card-title block-contact-us__spacing">Editor:</div> 2063 <div 2064 class="block-contact-us__grid_container--card-small-text block-contact-us__grid_container--card-link"> 2065 Alicia Kelly 2066 <a href="mailto:[email protected]">[email protected]</a> 2067 <span aria-label="Editor telephone"></span> 2068 </div> 2069 2070 2071 2072 <div class="block-contact-us__grid_container--card-title block-contact-us__spacing">News desk:</div> 2073 <div 2074 class="block-contact-us__grid_container--card-small-text block-contact-us__grid_container--card-link"> 2075 <a href="mailto:[email protected]">[email protected]</a>
2076 <span aria-label="News desk telephone">(01384) 358223</span> 2077 </div> 2078 2079 2080 </div> 2081 2082 <div class="block-contact-us__grid_container--banner" aria-labelledby="get-involved-heading"> 2083 <div id="get-involved-heading" class="block-contact-us__grid_container--banner-heading block-heading"> 2084 Get <em>involved</em> with the news 2085 </div> 2086 <div class="block-contact-us__grid_container--banner-content"> 2087 <div class="block-contact-us__grid_container--banner-text"> 2088 Got a story, lead, picture, or video you would like to share with us? 2089 </div> 2090 <div> 2091 <a href="/send-us-your-news/" class="mar-btn mar-btn--md mar-btn--light"> 2092 Send us your news 2093 </a> 2094 </div> 2095 </div> 2096 </div> 2097 2098 <div class="block-contact-us__grid_container--card" aria-labelledby="newspaper-sales-heading"> 2099 <div id="newspaper-sales-heading" class="block-contact-us__grid_container--card-heading block-heading"> 2100 Newspaper Sales</div> 2101 <div 2102 class="block-contact-us__grid_container--card-small-text block-contact-us__grid_container--card-link"> 2103 <a href="mailto:[email protected]">[email protected]</a> 2104 <span aria-label="Newspaper sales telephone">(01905) 742207</span> 2105 </div> 2106 </div> 2107 2108 2109 <div class="block-contact-us__grid_container--card" aria-labelledby="commercial-heading"> 2110 <div id="commercial-heading" class="block-contact-us__grid_container--card-heading block-heading"> 2111 Commercial</div> 2112 <p> 2113 <a href="/advertising/" class="mar-btn mar-btn--md mar-btn--dark">Book an advert</a> 2114 </p> 2115 <div class="block-contact-us__grid_container--card-title block-contact-us__spacing ">Advertising:</div> 2116 <div class="block-contact-us__grid_container--card-small-text"> 2117 <div class="block-contact-us__grid_container--card-link"> 2118 <a href="mailto:[email protected]"> 2119 [email protected] 2120 </a> 2121 <span aria-label="Advertising telephone">(01905) 742372</span> 2122 </div> 2123 </div> 2124 2125 <div class="block-contact-us__grid_container--card-title block-contact-us__spacing">Recruitment:</div> 2126 <div class="block-contact-us__grid_container--card-small-text"> 2127 <div class="block-contact-us__grid_container--card-link"> 2128 <a href="mailto:[email protected]"> 2129 [email protected] 2130 </a> 2131 <span aria-label="Recruitment telephone">(0800) 9520111</span> 2132 </div> 2133 </div> 2134 2135 </div> 2136 2137 2138 <div class="block-contact-us__grid_container--card" aria-labelledby="other-info-heading"> 2139 <div id="other-info-heading" class="block-contact-us__grid_container--card-heading block-heading">Other 2140 Information</div> 2141 <div class="block-contact-us__grid_container--card-text"><p> 2142 <br> 2143 <strong>Family Announcements</strong><br> 2144 01384 358000<br> 2145 <a href="mailto:[email protected]?subject=BMD%20Query%20Redditch%20Advertiser">[email protected]</a><br> 2146 <br> 2147 <strong>Public Notices (inc Goods Vehicle and Premises Licence Applications)</strong><br> 2148 01905 748300 2149</p> 2150<p> 2151 <a href="mailto:[email protected]">[email protected]</a> 2152</p></div> 2153 </div> 2154 2155 2156 </div> 2157 <!-- end of grid 1 container --> 2158 <div> 2159 2160 <div class="block-contact-us__seo-section" aria-labelledby="localiq-heading"> 2161 <img src="/resources/responsive-static/images/LocaliQ.svg" alt="LOCALiQ logo"> 2162 <h2 id="localiq-heading">Digital Marketing Services from LOCALiQ in 2163 <a href="https://localiq.co.uk/locations/worcester?utm_source=Redditch_Advertiser&utm_medium=referral&utm_campaign=Contact_Us_Page" target="_blank" rel="nofollow">Worcester 2164 </a> 2165 </h2> 2166 <p> 2167 <strong>LOCALiQ</strong> 2168 is an award-winning Digital Marketing Agency, specialising in local marketing and accelerating 2169 growth for UK businesses. 2170 Part of <strong> Newsquest Media Group Ltd,</strong> publisher of The Redditch Advertiser, LOCALiQ is 2171 based in over 2172 <strong> 2173 <a href="https://localiq.co.uk/locations?utm_source=NQ&utm_medium=referral++&utm_campaign=contact" 2174 rel="nofollow" target="_blank"> 2175 35 UK locations 2176 </a> 2177 </strong> and delivers exceptional results for B2B, B2C, e-commerce and services businesses. 2178 </p> 2179 2180 <div class="extra-text"> 2181 <a href="https://localiq.co.uk/digital-marketing-services/ppc?utm_source=NQ&utm_medium=referral++&utm_campaign=contact" 2182 target="_blank" rel="nofollow">PPC,</a> 2183 <a href="https://localiq.co.uk/digital-marketing-services/seo?utm_source=NQ&utm_medium=referral++&utm_campaign=contact" 2184 target="_blank" rel="nofollow"> SEO,</a> and 2185 <a href="https://localiq.co.uk/digital-marketing-services/web-design?utm_source=NQ&utm_medium=referral++&utm_campaign=contact" 2186 target="_blank" rel="nofollow"> Website Design</a> are just some of the solutions LOCALiQ can 2187 support your business with. 2188 </div> 2189 <div class="cta-section"> 2190 <div class="mar-btn mar-btn--md mar-btn--dark"> 2191 <a href="https://localiq.co.uk/digital-marketing-services?utm_source=NQ&utm_medium=referral++&utm_campaign=contact" 2192 target="_blank" rel="nofollow">View our digital marketing services 2193 </a> 2194 </div> 2195 <p> or 2196 <strong> 2197 <a href="https://localiq.co.uk/contact-us?utm_source=NQ&utm_medium=referral++&utm_campaign=contact" 2198 target="_blank" rel="nofollow" class="contact-us-link">Contact us</a> 2199 </strong> 2200 </p> 2201 </div> 2202 </div> 2203 2204 <div class="block-contact-us__grid_container--card" aria-labelledby="notices-heading"> 2205 <div id="notices-heading" class="block-contact-us__grid_container--card-heading block-heading">Notices 2206 and Announcements 2207 </div> 2208 <div class="block-contact-us__grid_container--card-text"> 2209 <p>
2209Remember the life of a loved one with a notice in the newspaper and an online notice page for 2210 friends and 2211 family, or celebrate a happy occasion</p> 2212 </div> 2213 <a href="/notices/self-service/category" 2214 class="mar-btn mar-btn--md mar-btn--dark block-contact-us__spacing"> 2215 Book a death notice 2216 </a> 2217 <a href="https://selfservice.newsquest.co.uk/TouchpointSS/SDE#/" 2218 class="mar-btn mar-btn--md mar-btn--promo-secondary block-contact-us__spacing"> 2219 Book a celebration announcement 2220 </a> 2221 </div> 2222 <div class="block-contact-us__grid_container--card" aria-labelledby="careers-heading"> 2223 <div id="careers-heading" class="block-contact-us__grid_container--card-heading block-heading">Careers 2224 </div> 2225 <div class="block-contact-us__grid_container--card-text"> 2226 <p> 2227 <strong>The Redditch Advertiser</strong> is part of 2228 <strong><a class="nq-link" href="https://www.newsquest.co.uk/">Newsquest Media 2229 Group</a></strong>, 2230 a leading local news & magazine publisher 2231 with a portfolio of more than 200 brands. 2232 </p> 2233 <div class="block-contact-us__grid_container--card-other-link"> 2234 <a href="https://www.newsquest.co.uk/careers">What we offer</a> 2235 <a href="https://careers.newsquest.co.uk/#js-careers-jobs-block">Current vacancies</a> 2236 </div> 2237 </div> 2238 </div> 2239 <div class="block-contact-us__grid_container--card" aria-labelledby="policies-heading"> 2240 <div id="policies-heading" class="block-contact-us__grid_container--card-heading block-heading">Policies 2241 & T&Cs</div> 2242 <div class="block-contact-us__grid_container--card-text"> 2243 <p> 2244 To view our full policies including 2245 <a class="nq-link" href="https://www.newsquest.co.uk/legal/terms-conditions/">Terms & 2246 Conditions</a>, 2247 <a class="nq-link" href="https://www.newsquest.co.uk/terms-of-advertising">Terms of 2248 Advertising</a>, 2249 <a class="nq-link" href="https://www.newsquest.co.uk/legal/contributor-terms/">Contributor 2250 Terms</a>, 2251 <a class="nq-link" href="https://www.newsquest.co.uk/domains">Information for Domain Name 2252 Customers</a>, 2253 use the links provided. 2254 For more... 2255 2256 </p> 2257 <div class="block-contact-us__grid_container--card-other-link"> 2258 <span>Visit</span> <a href="https://www.newsquest.co.uk/">www.newsquest.co.uk</a> 2259 </div> 2260 </div> 2261 </div> 2262 </div> 2263 <!-- end of grid 1 container --> 2264 </div> 2265</div> 2266 </div> 2267 </div> 2268 2269 <footer class="site-footer" aria-label="site-footer"> 2270 <div class="container-inner-width"> 2271 <div class="links-grid" aria-label="site-footer-links"> 2272 <section class="get-in-touch-section"> 2273 <h2>Get in Touch</h2> 2274 <a href="/contact/">Contact Us</a><a href="/advertising/">Advertise</a><a href="/homedelivery/">Newspaper Home Delivery</a><a href="/send-us-your-news/">Send Us Your News</a><a href="/submit-an-event/">Add Your Event For Free</a><a href="/publications/">Our Publications</a> 2275 </section> 2276 <section class="follow-us-section"> 2277 <h2>Follow Us</h2> 2278<a 2279 class="footer__social-media--link" 2280 href="https://twitter.com/Redd_Advertiser" 2281 title="Redditch Advertiser" 2282 role="link" 2283 data-media-type="twitter" 2284 >
2285 <i class="footer__social-media--icon iconify"></i> 2286 Redditch Advertiser 2287 </a> 2288 2289 2290 <a 2291 class="footer__social-media--link" 2292 href="https://www.facebook.com/TheRedditchAdvertiser/" 2293 title="Redditch Advertiser" 2294 role="link" 2295 data-media-type="facebook" 2296 > 2297 <i class="footer__social-media--icon iconify"></i> 2298 Redditch Advertiser 2299 </a> 2300 </section> 2301 <section class="useful-links-section"> 2302 <h2>Useful Links</h2> 2303 <div class="useful-links"> 2304 <section> 2305 <a href="/subscribe/">Subscriptions</a><a href="/newsletters/">Newsletters</a><a href="/notices/">Death Notices</a><a href="/announcements/">Announcements</a><a href="/announcements/public_notices/">Public Notices</a> 2306 </section> 2307 <section> 2308 <a href="https://www.exchangeandmart.co.uk/" target="_blank">Exchange and Mart</a><a href="https://newsquest.newsprints.co.uk/" target="_blank">Photo Sales</a><a href="http://leap.redditchadvertiser.co.uk" target="_block">Leap</a><a href="/archive/" style="display: inline-block">Archive</a> | <a href="/misc/sitemap/" style="display: inline-block">Sitemap</a><a href="/gdpr/" class="gdpr-option-v2" data-v2-id="1170586" data-is-gate="yes" rel="nofollow">Manage Consent</a><a href="https://www.newsquest.co.uk/legal/ai-notice/" target="_blank">AI Notice</a> 2309 </section> 2310 </div> 2311 </section> 2312 <section class="ipso-terms"> 2313 <img class="ipso-logo" src="/resources/responsive-static/mds/images/ipso-regulated.png" alt="IPSO Regulated image" /> 2314 <p class="ipso-copy">This website and associated newspapers adhere to the Independent Press Standards Organisation's 2315 Editors' Code of Practice. If you have a complaint about the editorial content which relates to 2316 inaccuracy or intrusion, then please <a class="footer__ipso-terms--link" href="/contact"> 2317 contact the editor here</a>. 2318 If you are dissatisfied with the response provided you can 2319 <a class="footer__ipso-terms--link" href="https://www.ipso.co.uk/contact-us/" target="_block">contact IPSO here</a></p> 2320 </section> 2321 </div> 2322 <div class="notice" aria-label="site-footer-notice"> 2323 <img src="/resources/responsive-static/mds/images/newsquest.png" alt="Newsquest" style="width: 193px"/> 2324 <p><strong>© 2001-2026. The Redditch Advertiser</strong> is owned and operated by Newsquest Media Group Ltd, an audited local newspaper network.</p> 2325 <p>Visit <a href="https://www.newsquest.co.uk/" target="_blank">newsquest.co.uk</a> to view our <a href="https://www.newsquest.co.uk/our-policies/" target="_blank">policies</a>, <a href="https://www.newsquest.co.uk/legal/" target="_blank" >terms</a> and <a href="https://www.newsquest.co.uk/legal/" target="_blank" >legal agreements</a>.</p> 2326 <p>The Echo Building, 18 Albert Road, Bournemouth, England BH1 1BZ. Registered in England & Wales | 01676637</p> 2327 </div> 2328 </div> 2329</footer> 2330 2331 2332 <div id="fb-root"></div> 2333 2334 2335 </div> 2336 </div> 2337 2338 2339 2340 <div class="mar-modal-container mar-modal-container--animate mar-modal-container--animate-out visually-hidden"> 2341 <div class="mar-modal-overlay" data-uses-js="close-modal"></div> 2342 2343 <div aria-label="Pop up dialog" class="mar-modal" tabindex="-1" role="dialog"> 2344 <div class="mar-modal__header"> 2345 <h3 class="mar-modal__title">Modal headline</h3> 2346 2347 <div class="mar-modal__close" data-uses-js="close-modal"> 2348<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 2349 <path fill-rule="evenodd" clip-rule="evenodd" d="M7.60714 6L11.6518 10.0446C11.7589 10.1518 11.8438 10.2768 11.9062 10.4196C11.9688 10.5625 12 10.7143 12 10.875C12 11.1786 11.8884 11.442 11.6652 11.6652C11.442 11.8884 11.1696 12 10.8482 12C10.6875 12 10.5357 11.9688 10.3929 11.9062C10.25 11.8438 10.1339 11.7589 10.0446 11.6518L6 7.60714L1.95536 11.6518C1.84821 11.7589 1.72321 11.8438 1.58036 11.9062
2349C1.4375 11.9688 1.28572 12 1.125 12C0.821427 12 0.558037 11.8884 0.334821 11.6652C0.111606 11.442 0 11.1786 0 10.875C0 10.7143 0.0312497 10.5625 0.09375 10.4196C0.15625 10.2768 0.241071 10.1518 0.348214 10.0446L4.36607 6L0.348214 1.95536C0.241071 1.84821 0.15625 1.72768 0.09375 1.59375C0.0312497 1.45982 0 1.3125 0 1.15179C0 0.830355 0.111606 0.558037 0.334821 0.334821C0.558037 0.111606 0.821427 0 1.125 0C1.28572 0 1.4375 0.0312497 1.58036 0.09375C1.72321 0.15625 1.84821 0.241071 1.95536 0.348214L6 4.39286L10.0446 0.348214C10.1339 0.241071 10.25 0.15625 10.3929 0.09375C10.5357 0.0312497 10.6875 0 10.8482 0C11.1696 0 11.442 0.111606 11.6652 0.334821C11.8884 0.558037 12 0.830355 12 1.15179C12 1.3125 11.9688 1.45982 11.9062 1.59375C11.8438 1.72768 11.7589 1.84821 11.6518 1.95536L7.60714 6Z" fill="#9DA0A4"/> 2350</svg> 2351 2352 2353 <span>Close</span> 2354 </div> 2355 </div> 2356 2357 <div class="mar-modal__body">Automatically injected HTML goes here</div> 2358 2359 <div class="mar-modal__actions"> 2360<!-- standard - Buttons.html --> 2361 2362<button 2363 type="button" 2364 data-uses-js="modal-submit" 2365 2366 class=" mar-btn 2367 mar-btn--light 2368 mar-btn--md 2369 2370 2371 " 2372> 2373 Submit 2374</button> 2375 2376 2377 2378 2379<!-- standard - Buttons.html --> 2380 2381<button 2382 type="button" 2383 data-uses-js="modal-cancel" 2384 2385 class=" mar-btn 2386 mar-btn--outline 2387 mar-btn--md 2388 2389 2390 " 2391> 2392 Cancel 2393</button> 2394 2395 2396 2397 </div> 2398 </div> 2399</div> 2400 2401</body> 2402 2403<div id="outbrain-holder"> 2404 <div id="DFP_standard_mpu_3"></div> 2405 <div id="DFP_standard_mpu_4"></div> 2406 <div id="DFP_standard_mpu_5"></div> 2407 <div id="DFP_standard_mpu_6"></div> 2408 <div id="DFP_standard_mpu_7"></div> 2409</div>
2410<script> 2411 2412const elementToObserve = document.querySelector("#outbrain-holder"); 2413 2414// create a new instance of `MutationObserver` named `observer`, 2415// passing it a callback function 2416const observer = new MutationObserver(function(e) { 2417 $.each(e, function(j, obs) { 2418 $.each(obs.removedNodes, function (i, node) { 2419 var id = $(node).attr('id'); 2420 addAdSlot(id, id.replace('DFP_', '')); 2421 }); 2422 }); 2423}); 2424 2425// call `observe()` on that MutationObserver instance, 2426// passing it the element to observe, and the options object 2427observer.observe(elementToObserve, {subtree: true, childList: true}); 2428</script>
2428 2429
2430<script> 2431window.domComplete = performance.now(); 2432</script>
2432 2433
2434<script type="text/javascript"> 2435path = document.location.href.split("/"); 2436var prop30 = qs.get('lp'); 2437var prop43 = qs.get('ref'); 2438var pType="Newsquest\Modules\ContactUsModule" 2439 2440if (pType === 'BlockArticleModule' || pType === 'NationalNewsModule' || pType === 'BlockWhatsOnModule') { 2441 pType = 'ArticleModule'; 2442} 2443for(x=4; x<7; x++) 2444{ 2445 if (typeof path[x] == 'undefined') 2446 { 2447 path[x] = ''; 2448 } 2449 if(path[x] == "" || (pType == "ArticleModule" && path[x].match(/[0-9]+\./)) || (path[x].indexOf('?') > -1)) 2450 { 2451 path[x] = path[x-1]; 2452 } 2453 else 2454 { 2455 path[x] = path[x-1] + "/" + path[x]; 2456 } 2457 path[x] = path[x].replace(/\/undefined/g,""); 2458} 2459sitename = path[2].split("."); 2460 2461pathN= unescape(document.location.pathname.toString()); 2462matches = pathN.match(/(\w+)\.(in|near|compare)\.([\,a-zA-Z0-9\ _-]+)[\/]?$/); 2463detailMatches = pathN.match(/(\w+)\.detail\.(.*)$/); 2464if (detailMatches !== null && detailMatches.length > 1) 2465{ 2466 matches = detailMatches; 2467} 2468 2469if (matches !== null && matches.length > 1) 2470{ 2471 var subfolder = ''; 2472 path[3] = 'li'; 2473 path[4] = 'li/'+subfolder; 2474 path[5] = 'li/'+subfolder+'/'+matches[1]; 2475 path[6] = 'li/'+subfolder+'/'+matches[1]; 2476} 2477if (pathN === '/') 2478{ 2479 path[3] = 'homepage'; 2480 path[4] = 'homepage'; 2481 path[5] = 'homepage'; 2482 path[6] = 'homepage'; 2483} 2484 2485 2486function filterArray(arr) { 2487 var retArr = []; 2488 $.each(arr, function(i, part) { 2489 if (part !== '') { 2490 retArr.push(part); 2491 } 2492 }); 2493 2494 return retArr; 2495} 2496</script>
2496 2497 2498
2499<script type="text/javascript"> 2500var known = $.cookie('__siren') ? '1' : '0' ; 2501</script>
2501 2502
2503<script type="text/javascript"> 2504 2505var known = $.cookie('__siren') ? '1' : '0' ; 2506var ref = document.referrer; 2507var parser = document.createElement('a'); 2508parser.href = ref; 2509 2510// values in the below MUST be strings 2511var targeting = { 2512 'context': '', 2513 2514 'domain': 'www.redditchadvertiser.co.uk', 2515 'isLanding': 'yes', 2516 'top_path': 'contact', 2517 'weather': 'sun'.toLowerCase(), 2518 'jbsjs': ''.toLowerCase(), 2519 'site_search': '', 2520 'bmd_cat': '', 2521 'wt': '11-15', 2522 'cmpid': qs.get('cmpid'), 2523 'refdm': parser.hostname, 2524 'k': known, 2525 'g': 'u' , 2526 'a': '0' , 2527 'topic': '', 2528 'publication': '', 2529 'primary_tag_future_use': '', 2530 'site': (isMobile()) ? 'mobile': 'desktop', 2531 'r': data_layer.user.subscription_plan !== '' 2532 ? '2' // 2 = subscribed 2533 : data_layer.user.is_logged_in == 'yes' 2534 ? '1' // 1 = registered 2535 : '0', // 0 = anonymous 2536}; 2537 2538if (!usePrebid) { 2539 targeting.adrq = 'adl'; 2540} 2541 2542if (data_layer.video.exists === 'yes') { 2543 targeting.ptype = 'video'; 2544} 2545 2546if ($.cookie('isMeterExpired') === 'yes' && window.data_layer.article.is_article) { 2547 var articleContentLevel = parseInt(window.data_layer.article.content_level, 10) || 0; // account for NaN 2548 if (articleContentLevel !== 0 && window.data_layer.article.content_level_open_access === 'no') { 2549 targeting.ao = 'y'; 2550 } 2551} 2552 2553if ($.cookie('_sp_enable_dfp_personalized_ads') === 'true') { 2554 targeting.dfpcsnt = 'yes'; 2555} else if ($.cookie('_sp_enable_dfp_personalized_ads') === 'false') { 2556 targeting.dfpcsnt = 'no'; 2557} else { 2558 targeting.dfpcsnt = 'none'; 2559} 2560 2561if (typeof MobileDetect !== "undefined") { 2562 targeting.canbb = (window.screen.width > 960) ? 'y' : 'n'; 2563} 2564 2565if (typeof module_targeting === "object") { 2566 targeting = addToTargeting(targeting, module_targeting); 2567} 2568 2569// $.each(apData, function (k, v) { 2570// targeting[k] = v; 2571// }); 2572 2573// if (typeof gs_channels !== 'undefined') { 2574// targeting.gs_channels = gs_channels; 2575// } 2576 2577targeting = addToTargeting(targeting, data_layer_helper.homesData); 2578 2579targeting.article_id = ''; 2580var googleSiteName = 'www.redditchadvertiser.co.uk'; 2581var googlePath = '/contact/'; 2582 2583var googleNetworkCode = 154725070; 2584 2585var googleChildNetworkCode = 22694024870; 2586var googleId = '/'+googleNetworkCode + ',' + googleChildNetworkCode + '/' + googleSiteName+googlePath; 2587 2588if (googleId.charAt(googleId.length - 1) === '/') { 2589 googleId = googleId.slice(0, -1); 2590} 2591 2592var googletag = googletag || {}; 2593googletag.cmd = googletag.cmd || []; 2594 2595googletag.cmd.push(function () { 2596 var _YB = _YB || { 2597 ab: function () { 2598 return _YB.dool ? "b" : "a" + Math.floor(Math.random() * 10); 2599 }, 2600 dool: Math.random() >= 0.1, 2601 }; 2602 var yb_ab; 2603 if (Math.random() <= 0.9) { 2604 yb_ab = _YB.ab(); 2605 } else { 2606 yb_ab = "c"; 2607 } 2608 googletag.pubads().setTargeting("yb_ab", yb_ab); 2609}); 2610 2611googletag.cmd.push(function() { 2612 googletag.pubads().set("adsense_background_color", "FFFFFF"); 2613 googletag.pubads().setTargeting('rfs', "0"); 2614 $.each(targeting, function (key, value) { 2615 2616 // No real value so exclude 2617 if (value === 0 || value === '' || value === null) { 2618 return; 2619 } 2620 googletag.pubads().setTargeting(key, value); 2621 }); 2622 2623}); 2624 2625if (isMobile() && '' === 'top') { 2626 $('.desktop-standard-leaderboard').remove(); 2627 $('.mobile-top-leaderboard').show(); 2628 $('#DFP_top_leaderboard_mobile').attr('id', 'DFP_top_leaderboard'); 2629} else { 2630 $('.mobile-top-leaderboard').remove(); 2631} 2632// Ads 2633var adUnits = []; 2634 2635hideAdsByScreensize(); 2636 2637if (blackListAds.length > 0) { 2638 removeBlacklistAds(blackListAds); 2639} 2640 2641$.each(unfilteredAdUnits, function (i, unit) { 2642 removeWhitelistAds(unit); 2643}); 2644 2645// set up a holder for all the adverts so we can do things with them later 2646var dfpHolder = {}; 2647// the set up code 2648googletag.cmd.push(function() { 2649 $.each(adUnits, function(i, data) { 2650 2651 // check if the dom exists 2652 if ($('#'+data.domName).length === 0) { 2653 return; 2654 } 2655 2656 var dfp = null; 2657 2658 if (data.slotType === 'standard') 2659 { 2660 // get the correct sizes, using the alternate_sizes if they exist and we are on a mobile site 2661 var sizes = data.sizes; 2662 if (data.alternate_mobile_size && isMobile()) { 2663 sizes = data.alternate_mobile_size; 2664 } 2665 // push this ad slot through 2666 dfp = googletag.defineSlot(googleId, sizes, data.domName) 2667 .addService(googletag.pubads()) 2668 .setTargeting("position", data.positionName) 2669 .setCollapseEmptyDiv(data.collapseContainer); 2670 // check if we have an array of targets, and assign them as a companion if we do 2671 if (data.targets instanceof Array && data.targets.length > 0 ) { 2672 dfp.setTargeting('companion', data.targets); 2673 } 2674 2675 } 2676 else if (data.slotType === 'outofpage') 2677 { 2678 dfp = googletag.defineOutOfPageSlot(googleId, data.domName) 2679 .addService(googletag.pubads()) 2680 .setTargeting("position", data.positionName) 2681 .setCollapseEmptyDiv(data.collapseContainer); 2682 // check if we have an array of targets, and assign them as a companion if we do 2683 if (data.targets instanceof Array && data.targets.length > 0 ) { 2684 dfp.setTargeting('companion', data.targets); 2685 } 2686 } 2687 2688 // store 2689 dfpHolder[data.domName] = dfp; 2690 2691 }); 2692 2693 if (adLight === true) { 2694 googletag.pubads().setCategoryExclusion('adlight'); 2695 // var adlightexplanation = '<div class="adlight-explanation">I\'m a subscriber <a href="#" class="adlight-explanation-link">Why am I seeing this advert?</a></div>'; 2696 // if ($('#DFP_premium_mpu').length > 0) { 2697 // $('#DFP_premium_mpu').before(adlightexplanation); 2698 // } 2699 2700 // if ($('#DFP_standard_mpu_1').length > 0) { 2701 // $('#DFP_standard_mpu_1').before(adlightexplanation); 2702 // } 2703 2704 // var imageIds = [11497497, 11497535, 11497536, 11497541, 11497542, 11497545, 11497546, 11497547]; 2705 // var imageId = imageIds[Math.floor(Math.random() * imageIds.length)]; 2706 // $('.adlight-explanation-link').click(function(e) { 2707 // e.preventDefault(); 2708 // $('#adlight-explanation-modal-image').attr('src', '/resources/images/' + imageId + '/').show(); 2709 // $('#adlight-explanation-modal').modal(); 2710 // }); 2711 } 2712 2713 // send the request 2714 googletag.pubads().enableSingleRequest(); 2715 2716 googletag.enableServices(); 2717 2718 googletag.pubads().addEventListener('slotVisibilityChanged', function(event) { 2719 if (event.slot.getResponseInformation().creativeTemplateId === 828288 || 2720 event.slot.getResponseInformation().creativeTemplateId === 12383216 ) { 2721 console.log('DFP: Magic template id detected, not refreshing'); 2722 return; 2723 } 2724 var slotName = ''; 2725 $.each(dfpHolder, function (a, e) { 2726 if (e == event.slot) { 2727 slotName = a; 2728 } 2729 }); 2730 if (typeof window.advertisingTimer !== 'undefined') { 2731 var perc = event.inViewPercentage; 2732 window.advertisingTimer.timer(slotName, perc); 2733 } 2734 }); 2735}); 2736 2737// the display code 2738$.each(adUnits, function(i, data) { 2739 2740 // check if the dom exists 2741 if ($('#'+data.domName).length === 0) { 2742 return; 2743 } 2744 2745 if (data.domName === 'DFP_interstitial_mpu') { 2746 if (!inter.checkVisit()) { 2747 return; 2748 } 2749 } 2750 2751 // are we manually loading it? 2752 if ($('#'+data.domName).attr('data-manual-loading') === "yes") { 2753 return; 2754 } 2755 // for mobile, we check if the dom element has the data-delay-loading attribute set to "1" 2756 else if ($('#'+data.domName).attr('data-delay-loading') === "yes") { 2757 2758 // load it 2759 $('#'+data.domName).appear(); 2760 $(document.body).on('appear', '#'+data.domName, function(e, allElement) { 2761 2762 // don't call it many times 2763 if ($(this).attr('data-processed') === 'yes') { 2764 return; 2765 } 2766 2767 $(this).attr('data-processed', 'yes'); 2768 2769 // display the google ad 2770 googletag.display(data.domName); 2771 googletag.pubads().refresh([dfpHolder[data.domName]]); 2772 }); 2773 return; 2774 } 2775 googletag.cmd.push(function() { 2776 googletag.display(data.domName); 2777 }); 2778}); 2779window.googleComplete = performance.now(); 2780window.googleReady = true; 2781 2782// METHODS 2783function addToTargeting(targeting, data) { 2784 if (!data) { 2785 return targeting; 2786 } 2787 $.each(data, function (key, value) { 2788 if (!value) { 2789 return; 2790 } 2791 targeting[key] = value; 2792 }); 2793 return targeting; 2794} 2795 2796function addAdSlot(slotName, slot, initHidden) { 2797 console.log("Add ad slot called for %s %s", slotName, slot); 2798 // check if item already exists 2799 if (typeof window.dfpHolder[slotName] !== 'undefined') { 2800 return; 2801 } 2802 2803 if (window.adLight === true) { 2804 return; 2805 } 2806 window.googletag.cmd.push(function() { 2807 var dfp = googletag.defineSlot(window.googleId, [[300,250]], slotName) 2808 .setTargeting('position', [slot]) 2809 .addService(googletag.pubads()); 2810 window.dfpHolder[slotName] = dfp; 2811 2812 if (!initHidden) { 2813 googletag.pubads().refresh([dfp]); 2814 2815 return; 2816 } 2817 }); 2818} 2819 2820function hideAdsByScreensize() { 2821 if (window.screen.width < 728 && $('#BlockArticleContainer').length > 0) { 2822 if ('159' === '1147') { 2823 $('#DFP_out_of_page').remove(); 2824 } else { 2825 $('#DFP_premium_mpu').remove(); 2826 } 2827 $('#DFP_on_scroll').remove(); 2828 } else if (window.screen.width < 728 && 2829 ( $(".article-grid__uber[data-top-stories-articles='7'][data-news-list-articles='9']").length > 0 || 2830 $(".article-grid__uber[data-top-stories-articles='7'][data-news-list-articles='12']").length > 0 || 2831 $(".article-grid__uber[data-top-stories-articles='7'][data-news-list-articles='18']").length > 0 || 2832 $(".article-grid__uber[data-top-stories-articles='7'][data-news-list-articles='24']").length > 0 ) 2833 ) { 2834 const adElement = document.querySelector('#high_vis_container'); 2835 $('.omnicard[data-position="5"]').after(adElement); 2836 } 2837 2838 if ('159' === '1147' && window.screen.width > 450) { 2839 $('#DFP_bottom_leaderboard').remove(); 2840 } 2841 2842 if ('159' === '1147' && window.screen.width < 728) { 2843 $('#DFP_top_leaderboard').remove(); 2844 } 2845 2846 if ('159' === '1147') { 2847 $('#DFP_teads').remove(); 2848 $('#DFP_out_of_page').remove(); 2849 } 2850 2851 if ($('#comments-in-page').length === 1 && window.screen.width > 450) { 2852 $('#DFP_top_leaderboard').parent().remove(); 2853 $('#DFP_bottom_leaderboard').parent().remove(); 2854 // $('#DFP_standard_mpu_1').parent().remove(); 2855 } 2856} 2857 2858function removeBlacklistAds(blackListAds) { 2859 $.each(blackListAds, function(i, name) { 2860 removeAdContainer(name); 2861 }); 2862} 2863 2864function removeWhitelistAds(unit) { 2865 // VAST (video) ad units never get displayed in here. 2866 if (unit.isVast) { 2867 return; 2868 } 2869 2870 // if we have an ad-light experience 2871 if (whiteList === true) { 2872 if (typeof whiteListAds[unit.positionName] === 'undefined') { 2873 removeAdContainer(unit.domName) 2874 return; 2875 } 2876 } 2877 2878 adUnits.push(unit); 2879} 2880 2881function removeAdContainer(name) { 2882 const element = document.getElementById(name); 2883 // doesn't exist? exit 2884 if(!element) { 2885 return; 2886 } 2887 2888 const parent = element.parentElement; 2889 if (parent && parent.classList.contains('block-bottom-margin')) { 2890 // if immediate parent contains block-bottom-margin as a class, remove the parent as well 2891 parent.classList.remove('block-bottom-margin'); 2892 } 2893 if (parent && parent.classList.contains('mar-leaderboard--top')) { 2894 // in case of leaderboard, remove as has min-height 2895 parent.remove(); 2896 return; 2897 } 2898 2899 if (parent && parent.classList.contains('mar-leaderboard--bottom')) { 2900 // in case of article ad container, remove as has min-height 2901 parent.remove(); 2902 return; 2903 } 2904 2905 element.remove(); 2906} 2907</script>
2907 2908 2909
2910<script src="/resources/responsive-static/build/mds/js/global.js?cb=vjoPdzgg"></script>
2910 2911 2912 2913 2914 2915
2916<script src="/__siren/"></script>
2916 2917 2918 2919
2920<script type="text/javascript"> 2921 var s_account="newsquestgroupprod"; 2922</script>
2922 2923
2924<script type="text/javascript" src="/resources/responsive-static/vendor/adobe/VisitorAPI.js?cb=vjoPdzgg"></script>
vendor: 1 bytes, line 2924
2924
2925<script type="text/javascript" src="/resources/responsive-static/vendor/adobe/omniture.js?cb=vjoPdzgg"></script>
2925 2926
2927<script type="text/javascript"> 2928 2929function getOmniturePath() { 2930 var path = ''; 2931 if ($('#gallery-base-url').length === 1) { 2932 path = $('#gallery-base-url').val(); 2933 } 2934 else { 2935 path = window.location.pathname; 2936 } 2937 return path; 2938} 2939 2940function getPositionFromCookie() { 2941 const cookieName = 'tracking_block_index'; 2942 2943 const ref = document.cookie 2944 .split('; ') 2945 .find(row => row.startsWith(`${cookieName}=`)) 2946 ?.slice(cookieName.length + 1); 2947 2948 document.cookie = `${cookieName}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain=${window.data_layer.site.cookie_domain}`; 2949 2950 return ref ? decodeURIComponent(ref) : undefined; 2951} 2952function getRefFromCookie() { 2953 const cookieName = 'tracking_block'; 2954 2955 const ref = document.cookie 2956 .split('; ') 2957 .find(row => row.startsWith(`${cookieName}=`)) 2958 ?.split('=')[1]; 2959 2960 // Remove the cookie 2961 document.cookie = `${cookieName}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain=${window.data_layer.site.cookie_domain}`; 2962 2963 return ref; 2964} 2965 2966function getOmnitureTrackingFromCookie(key, preExistingValue) { 2967 var ref = $.cookie('o-' + key); 2968 if(typeof(ref) === 'undefined') { 2969 ref = preExistingValue 2970 } else { 2971 ref = decodeURIComponent(ref); 2972 $.removeCookie('o-' + key, { 2973 path: '/', 2974 domain: window.data_layer.site.cookie_domain, 2975 }); 2976 } 2977 return ref; 2978} 2979 2980function getValidatedAPList() { 2981 2982 var validList = [1100, 1101, 1002, 1006, 1010, 1014, 1018, 1022, 1200, 1202, 1205, 1300, 1602, 1605, 1608, 1612, 1616, 1500, 1503, 1507, 1509, 1512, 1402, 1406, 1409, 1412, 1416, 14331, 14333, 14335, 14336, 14339, 14342, 14344, 14345, 14346, 14350, 14351, 14353, 14359, 14366, 14370, 14371, 14377, 14388, 14394, 14396, 14399, 14407, 14221, 14423, 15679, 15681, 15682, 15683, 15684, 15686, 15687, 15688, 15975]; 2983 2984 var data = getAudienceProjectTargetingData(); 2985 if (!data || !data.ap_x) { 2986 return ''; 2987 } 2988 2989 validData = []; 2990 $.each(data.ap_x, function(i, td) { 2991 if ($.inArray(parseInt(td, 10), validList) !== -1) { 2992 validData.push(td); 2993 } 2994 }); 2995 2996 return validData.join(','); 2997} 2998 2999path = document.location.href.split("/"); 3000 3001var qs = new URLSearchParams(window.location.search); 3002 3003var prop30 = qs.get('lp'); 3004var prop43 = qs.get('ref'); 3005var pType="Newsquest\Modules\ContactUsModule" 3006 3007if (pType === 'BlockArticleModule' || pType === 'NationalNewsModule' || pType === 'BlockWhatsOnModule') { 3008 pType = 'ArticleModule'; 3009} 3010 3011for(x=4; x<7; x++) 3012{ 3013 if (typeof path[x] == 'undefined') 3014 { 3015 path[x] = ''; 3016 } 3017 if(path[x] == "" || (pType == "ArticleModule" && path[x].match(/[0-9]+\./)) || (path[x].indexOf('?') > -1)) 3018 { 3019 path[x] = path[x-1]; 3020 } 3021 else 3022 { 3023 path[x] = path[x-1] + "/" + path[x]; 3024 } 3025 path[x] = path[x].replace(/\/undefined/g,""); 3026} 3027pathN= unescape(document.location.pathname.toString()); 3028matches = pathN.match(/(\w+)\.(in|near|compare)\.([\,a-zA-Z0-9\ _-]+)[\/]?$/); 3029detailMatches = pathN.match(/(\w+)\.detail\.(.*)$/); 3030if (detailMatches !== null && detailMatches.length > 1) 3031{ 3032 matches = detailMatches; 3033} 3034 3035if (matches !== null && matches.length > 1) 3036{ 3037 var subfolder = ''; 3038 path[3] = 'li'; 3039 path[4] = 'li/'+subfolder; 3040 path[5] = 'li/'+subfolder+'/'+matches[1]; 3041 path[6] = 'li/'+subfolder+'/'+matches[1]; 3042} 3043if (pathN === '/') 3044{ 3045 path[3] = 'homepage'; 3046 path[4] = 'homepage'; 3047 path[5] = 'homepage'; 3048 path[6] = 'homepage'; 3049} 3050 3051 3052/* You may give each page an identifying name, server, and channel on 3053the next lines. */ 3054s.pageName="(www) "+getOmniturePath(); 3055s.pageName = s.pageName.toLowerCase(); 3056s.server="martini"; 3057s.channel=""; 3058s.pageType=""; 3059s.prop1= qs.get('search'); 3060s.prop2=""; 3061s.prop3=document.title; 3062s.prop4=""; 3063s.prop5="Newsquest\Modules\ContactUsModule"; /* get from Martini */ 3064s.prop6=path[3].toLowerCase(); 3065s.prop7=path[4].toLowerCase(); 3066s.prop8=path[5].toLowerCase(); 3067s.prop9=path[6].toLowerCase(); 3068s.prop10=""; 3069 3070s.prop16=path[2].toLowerCase(); 3071s.prop17="Stourbridge"; 3072s.prop18="Martini"; 3073s.prop19="1"; 3074s.prop20 = s.getPreviousValue(s.pageName, 'gpv_pn'); 3075s.prop42 = ""; 3076s.prop53 = 'standard'; 3077s.prop54 = ''; 3078s.prop55 = ''; 3079s.prop56 = ""; 3080s.prop57 = ($('[data-name="Feature Article Block A"]').length > 0) ? 'Enabled' : 'Disabled'; 3081s.prop58 = document.querySelector('[data-name="Feature Article Block B"]')?.dataset.variant; 3082s.prop59 = getRefFromCookie(); 3083s.prop60 = getPositionFromCookie(); 3084s.prop73 = document.cookie.split('; ').find(row => row.startsWith('adtiming='))?.split('=')[1] || null; 3085 3086var eVar67 = []; 3087 3088if ($.cookie('consentUUID')) { 3089 eVar67.push('yes'); 3090} else { 3091 eVar67.push('no'); 3092} 3093if ($.cookie('_sp_enable_dfp_personalized_ads') === 'true') { 3094 eVar67.push('yes'); 3095} else if ($.cookie('_sp_enable_dfp_personalized_ads') === 'false') { 3096 eVar67.push('no'); 3097} else { 3098 eVar67.push('none'); 3099} 3100 3101if ($.cookie('_sp_legitimate_interests') === 'true') { 3102 eVar67.push('yes'); 3103} else if ($.cookie('_sp_legitimate_interests') === 'false') { 3104 eVar67.push('no'); 3105} else { 3106 eVar67.push('none'); 3107} 3108 3109//if ($.cookie('euconsent')) { 3110// eVar67.push($.cookie('euconsent')); 3111//} else { 3112// eVar67.push('none'); 3113//} 3114 3115s.eVar67 = eVar67.join(','); 3116// console.log('ADB: setting eVar67 to %s', eVar67.join(',')); 3117 3118if ($.cookie('prev-tcf-v2')) { 3119 // console.log('ADB: Setting eVar68 to ', $.cookie('prev-tcf-v2')); 3120 s.eVar68 = $.cookie('prev-tcf-v2'); 3121} 3122 3123if (typeof iabNames !== 'undefined') { 3124 s.prop29 = iabNames.join(','); 3125} else if (typeof iabIds !== 'undefined') { 3126 s.prop29 = iabIds.join(','); 3127} 3128 3129if (s.prop20 && s.prop20 !== 'no value') { 3130 s.prop21 = s.getPercentPageViewed(); 3131} else { 3132 s.prop21 = ''; 3133} 3134 3135if (typeof __siren !== 'undefined') { 3136 s.eVar27 = __siren; 3137} 3138 3139s.prop22 = s.getDaysSinceLastVisit('s_lv'); 3140 3141 3142s.prop43=getOmnitureTrackingFromCookie('ref', prop43); 3143s.prop25 = '' 3144 3145s.prop27 = ''; 3146 3147s.prop30 = getOmnitureTrackingFromCookie('prop30', prop30); 3148s.linkInternalFilters="javascript:,redditchadvertiser.co.uk,fish4.co.uk,adsys.newsquest.co.uk,www.exchangeandmart.co.uk,www.communigate.co.uk," 3149s.eVar61=(new Date()).toLocaleDateString("en-GB"); 3150/* s.eVar62=(new Date()).toLocaleDateString("en-GB"); */ 3151 3152 3153 3154 3155 3156 3157/* Article-site-cloning data */ 3158s.eVar90 = window.data_layer.article.parent_originating_site_id; 3159s.eVar91 = window.data_layer.article.originating_article_id; 3160s.eVar92 = window.data_layer.article.is_original_to_site; 3161s.eVar95 = window.data_layer.site.using_piano_id; 3162s.eVar106 = ''; 3163
3164s.eVar109 = ''; 3165 3166/* Uber block article counts */ 3167s.eVar93 = window.data_layer.page.top_stories_article_count + ':' + window.data_layer.page.interstitial_article_count + ':' + window.data_layer.page.news_stories_article_count; 3168 3169/* Conversion Variables */ 3170s.campaign="" 3171s.state="" 3172s.zip="" 3173s.events="" 3174s.products="" 3175s.purchaseID="" 3176s.eVar14="" 3177try { 3178 s.list3=getValidatedAPList(); 3179} catch (e) { 3180 // do nothing 3181} 3182 3183 3184 3185 3186// Initial fotorama tracking. 3187var moduleType = null; 3188if (s.prop5 === 'ArticleModule' || s.prop5 == 'PropertyModuleReplacement' || s.prop5 === 'BlockArticleModule') { 3189 moduleType = 'article'; 3190} else if (s.prop5 === 'PictureGalleryModule') { 3191 moduleType = 'gallery'; 3192} 3193 3194if ($('#comments-in-page').length === 1) { 3195 moduleType = 'comments'; 3196} 3197 3198if (moduleType === 'article' || moduleType === 'gallery' || moduleType === 'comments') { 3199 var imagePath = ''; 3200 3201 if ($('.fotorama').length > 0) { 3202 // Get the first Fotorama image. 3203 try { 3204 var el = $('.fotorama').data('fotorama').data[0].html; 3205 var url = $(el).find('div').css('background-image'); 3206 imagePath = url.replace('url(','').replace(')','').replace(/\"/gi, ""); 3207 } catch (e) { 3208 } 3209 } else { 3210 // If there's just one image (i.e. it's not a gallery), find its path. 3211 var imagePathSingle = $('#mainImage').attr('src'); 3212 if (typeof imagePathSingle !== 'undefined') { 3213 imagePath = imagePathSingle.split('.')[0] + '/'; 3214 } 3215 } 3216 var imageParts = imagePath.split('/'); 3217 if (imageParts.length > 1) { 3218 s.eVar37 = imageParts[imageParts.length - 2]; 3219 s.prop37 = imageParts[imageParts.length - 2]; 3220 s.events = s.apl(s.events, 'event7', ',', 2); 3221 } 3222 s.eVar36 = moduleType; 3223 s.prop36 = moduleType; 3224} 3225 3226 3227 3228// Education pages. 3229if (s.prop5 === 'ResponsiveEducationModule') { 3230 // School profile page. 3231 if ($('#eduOverview').length > 0) { 3232 s.eVar40 = $('#eduOverview').data('school-status'); 3233 s.prop40 = s.eVar40; 3234 s.prop41 = 'edu-' + $('#eduOverview').data('school-urn'); 3235 s.prop46 = $('#town').text(); 3236 } 3237 3238 // Comparison page. 3239 if ($('#eduComparisonTable').length > 0) { 3240 s.list1 = ''; 3241 } 3242 3243 // Results page. 3244 if ($('.school-results').length > 0) { 3245 s.list1 = ''; 3246 3247 // Track the search criteria. 3248 s.prop44 = ''; 3249 s.prop45 = "".toLowerCase(); 3250 s.prop46 = "".toLowerCase(); 3251 s.prop49 = ''; 3252 s.prop50 = ''; 3253 s.prop51 = ''; 3254 s.eVar2 = s.prop50; 3255 3256 var newSearch = false; 3257 if (newSearch) { 3258 s.events = s.apl(s.events, 'event17', ',', 1); 3259 } 3260 } 3261} 3262 3263// Notices Module 3264if (s.prop5 === 'NewsquestModulesNoticesModule') { 3265 // Notices Find page. 3266 if (s.pageName.includes('notices/find')) { 3267 s.pageName = '(www) /notices/find/'; 3268 s.eVar50 = ''; 3269 const noticesURL = new URL(window.location.href); 3270 const noticesParams = new URLSearchParams(noticesURL.search); 3271 3272 s.eVar1 = noticesParams.has('keyword') ? noticesParams.get('keyword') : 'None'; 3273 s.eVar51 = noticesParams.has('sort') ? noticesParams.get('sprt') : 'best'; 3274 s.eVar52 = noticesParams.has('p') ? (parseInt(noticesParams.get('p'), 10) + 1) : 1; 3275 s.eVar53 = noticesParams.has('type') ? noticesParams.get('type') : 'All'; 3276 s.eVar54 = noticesParams.has('nearby') ? noticesParams.get('nearby') : 'no'; 3277 s.eVar55 = noticesParams.has('daterange') ? noticesParams.get('daterange') : 'last-month'; 3278 3279 if (noticesParams.has('sort')) { 3280 switch (noticesParams.get('sort')) { 3281 case 'date_asc': 3282 s.eVar51 = 'oldest'; 3283 break; 3284 case 'date_desc': 3285 s.eVar51 = 'newest'; 3286 break; 3287 case 'best_match': 3288 s.eVar51 = 'best'; 3289 break; 3290 default: 3291 s.eVar51 = noticesParams.get('sort'); 3292 break; 3293 } 3294 } 3295 3296 // Concatenate all search params into eVar44 3297 if (noticesParams.size > 0) { 3298 const searchParams = new URL(window.location.href).searchParams; 3299 s.eVar44 = '';
3300 searchParams.forEach((value, key) => { 3301 s.eVar44 += `${key}=${value},`; 3302 }); 3303 } else { 3304 s.eVar44 = ''; 3305 } 3306 3307 // Adobe Search Event triggering 3308 const setNoticePaginationClicked = (value) => { 3309 localStorage.setItem("isNoticePaginationClicked", value); 3310 }; 3311 3312 const noticeSearchInput = document.getElementById("notices-search"); 3313 const noticeSearchBtn = document.getElementById("notice-search-find"); 3314 const noticePaginationBtns = document.querySelectorAll('.notice-find__pagination .pagination-btn'); 3315 const noticePaginationBtnPrev = document.querySelector('.pagination-btn-previous svg'); 3316 const noticePaginationBtnNext = document.querySelector('.pagination-btn-next svg'); 3317 3318 noticeSearchInput?.addEventListener('change', () => setNoticePaginationClicked('false')); 3319 noticeSearchBtn?.addEventListener('click', () => setNoticePaginationClicked('false')); 3320 3321 noticePaginationBtns.forEach(btn => { 3322 btn.addEventListener('click', () => setNoticePaginationClicked('true')); 3323 }); 3324 3325 noticePaginationBtnPrev?.addEventListener('click', () => setNoticePaginationClicked('true')); 3326 noticePaginationBtnNext?.addEventListener('click', () => setNoticePaginationClicked('true')); 3327 3328 if (localStorage.getItem("isNoticePaginationClicked") === 'false') { 3329 s.events = s.apl(s.events, 'event1', ',', 1); 3330 } 3331 } 3332 3333 if (/notices\/funeral-directors\/(\d+)\.([a-zA-Z0-9-?]+)?/.test(s.pageName)) { 3334 s.pageName = '(www) /notices/funeral-director/'; 3335 s.eVar41 = ''; 3336 } 3337} 3338 3339if (s.prop5 === 'NewsquestModulesNoticeModule') { 3340 s.eVar41 = ''; 3341 const type = window.announcement_data?.details?.type || ''; 3342 const subCategory = window.announcement_data?.details?.sub_category || ''; 3343 s.eVar40 = type !== 'Tribute' ? type : `${type} - ${subCategory}`; 3344 s.eVar42 = window.announcement_data?.details?.id || ''; 3345 s.eVar107 = ''; 3346 s.eVar119 = ''; 3347 s.eVar120 = ''; 3348 s.eVar2 = "(www) /notice/"; 3349} 3350 3351//New Property module 3352if (s.prop5 === 'ResponsivePropertyModule') { 3353 /* 3354 Use prop42 for single and list pages, for list pages use hyphen separate lists of id's 3355 */ 3356 3357 3358 //Property's all over the place (homepage, searches etc - HOM-133 3359 3360 //Property Detail - HOM-131, HOM-134, HOM-130 3361 3362 //Contact us submissions - HOM-137 3363 if($('#propertyModule.agent-details').length > 0) { 3364 //Add a click handler for a.contact-detail 3365 } 3366 3367 3368} 3369 3370// is their a video tag on the page? 3371if ($('.exco-embed').length > 0) { 3372 console.log('VID: setting tracking for event50'); 3373 s.events = s.apl(s.events, 'event50', ',', 1); 3374} 3375 3376var foundAutoPlayVid = false; 3377$('.jw-outer').each(function (a, domEle) { 3378 if ($(this).data('multimedia-block') === 'no' && !foundAutoPlayVid) { 3379 console.log('VID: setting tracking for event51'); 3380 s.events = s.apl(s.events, 'event51', ',', 1); 3381 foundAutoPlayVid = true; 3382 } 3383}); 3384 3385 3386 3387 3388 3389 3390 3391s.eVar66 = 'Ad-Full'; 3392s.eVar114 = ''; 3393 3394 3395 3396 // var eVar65Copy = s.getValOnce(s.eVar65, "ev65", 0); 3397 // if (eVar65Copy !== '' && s.prop20.indexOf("/my/subscription/activate/") > -1) { 3398 // s.events = s.apl(s.events, "event4", ",", 1); // Set the subscription counter event. 3399 // s.events = s.apl(s.events, "purchase", ",", 1); // Set the purchase event. 3400 // s.products = "Subscription : Metered Access;" + eVar65Copy + ";1;"; 3401 // s.purchaseID = ""; 3402 // } 3403 3404 3405if(qs.get('action') === 'success' && (s.prop5 === 'ArticleModule' || s.prop5 === 'BMDModule' || s.prop5 === 'BlockArticleModule')) { 3406 s.events=s.apl(s.events,'event9',',',2) 3407} 3408/* Hierarchy Variables */ 3409s.hier1="newsquest," + "Stourbridge" + ",www.redditchadvertiser.co.uk," + path[6].replace(/\//,","); 3410 3411if (typeof MartiniFotorama !== 'undefined') { 3412 MartiniFotorama.loadOmniture(s); 3413} 3414s.prop39 = "0"; 3415 3416 3417 3418// Tracking usage of Bytecast audio embeds in articles. 3419s.eVar82 = 'no'; 3420s.eVar83 = ''; 3421 3422 console.log('ADB: starting'); 3423 console.log('Google Bot Browser: ', window.isRobot.googleBot()); //TODO Remove this log after QA 3424 3425// Tracking of Commenting Registration FLow 3426if (s.prop5 !== 'BlockArticleModule') { 3427 const storedAdobeDimensions = sessionStorage.getItem('nq_adobe_tracking_article_dimensions'); 3428 if (storedAdobeDimensions) { 3429 const storedAdobeDimensionObj = JSON.parse(storedAdobeDimensions); 3430 s.eVar10 = storedAdobeDimensionObj.eVar10; 3431 s.eVar15 = storedAdobeDimensionObj.eVar15; 3432 s.eVar22 = storedAdobeDimensionObj.eVar22; 3433 s.eVar23 = storedAdobeDimensionObj.eVar23; 3434 s.eVar24 = storedAdobeDimensionObj.eVar24; 3435 s.eVar25 = storedAdobeDimensionObj.eVar25; 3436 s.eVar28 = storedAdobeDimensionObj.eVar28; 3437 s.eVar60 = storedAdobeDimensionObj.eVar60; 3438 s.eVar104 = storedAdobeDimensionObj.eVar104; 3439 s.eVar106 = storedAdobeDimensionObj.eVar106; 3440 s.eVar107 = storedAdobeDimensionObj.eVar107; 3441 s.eVar108 = storedAdobeDimensionObj.eVar108; 3442 s.prop63 = storedAdobeDimensionObj.prop63; 3443 } 3444} 3445 3446if (window.location.href.includes("/user/create-account/commenting/")) { 3447 s.eVar2 = '(www) /user/create-account/commenting/'; 3448} 3449 3450/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/ 3451if (qs.get('callback') !== 'in' && !window.isRobot.googleBot()) { 3452 var s_code=s.t(); 3453 var backupAdobe = s; 3454 3455 if(s_code)document.write(s_code) 3456} 3457 3458// Storing the visiting dimensions 3459if (s.eVar10 || s.eVar22 || s.eVar23 || s.eVar24) { 3460 const adobeTrackingVisitingDimensions = { 3461 eVar10: s.eVar10, 3462 eVar22: s.eVar22, 3463 eVar23: s.eVar23, 3464 eVar24: s.eVar24, 3465 } 3466 sessionStorage.setItem('nq_adobe_tracking_visiting_dimensions', JSON.stringify(adobeTrackingVisitingDimensions)); 3467} 3468 3469//--></script>
3469 3470<!-- End SiteCatalyst code version: H.19.3. --> 3471 3472 3473 3474 3475
3476<script> 3477 if ('' !== '') { 3478 setTimeout(function() { 3479 data_layer_helper.loadScript( 3480 "/resources/responsive-static/build/mds-next/js/.js?cb=vjoPdzgg", 3481 true, 3482 null, 3483 "module" 3484 ) 3485 }, 500); 3486 } 3487</script>
3487 3488 3489 3490</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.