├── speed-mods ├── brand.html ├── product.html ├── web-fonts-disable-on-slow-connections.js ├── home.html └── category.html ├── tag-rocket-cancel-cart-item-changed.html ├── README.md ├── tag-rocket-console-logger.html ├── tag-rocket-ga4-cancel-add_shipping_info.html ├── tag-rocket-ga4-language.html ├── tag-rocket-ga4-content_group.html ├── seo-rich-snippets-offer-additions.html ├── tag-rocket-ga4-fudge-accelerated.html ├── tag-rocket-affiliate-conversion-example.html ├── cloudflare └── worker-header-preload.js ├── seo-rich-snippets-availability-alteration.html ├── tag-rocket-product-id-change2.html ├── tag-rocket-gtag-modifications.html ├── tag-rocket-user-data.html ├── tag-rocket-facebook-external-hit-exclusion.html ├── tag-rocket-price-alteration.html ├── cookiebot-gtag-default.html ├── bc-metadatafix-gascript.min.html ├── tag-rocket-ga4-windsor-ai-fetch_user_data-event.html ├── tag-rocket-gtag-link-tracking.html ├── tag-rocket-bcee-dimensions.html ├── tag-rocket-product-removal.html ├── tag-rocket-disable-gtag-events-example.html ├── tag-rocket-ga4-client_id_to_dataLayer.html ├── graphql-test-script.html ├── tag-rocket-google-ads-product-removal.html ├── tag-rocket-zycada.html ├── tag-rocket-ga4-modifications.html ├── tag-rocket-google-ads-label-change.html ├── tag-rocket-product-id-change.html ├── tag-rocket-change-order-total.html ├── tag-rocket-bcee-modifications.html ├── tag-rocket-hit-path.html ├── iubenda-onPreferenceExpressedOrNotNeeded.js ├── tag-rocket-truyo.html ├── tag-rocket-stop-conversions-example.html ├── tag-rocket-early-monitoring.html ├── chrome-performance-report-lcp-timings.html ├── advanced-shipping-services.html ├── tag-rocket-async.html ├── update-consent.html ├── tag-rocket-bcee-data-feed-watch.html ├── tag-rocket-kutoku.html ├── search-spring-canonical-fix.html ├── tag-rocket-quora.html ├── graphql-testing.http ├── tag-rocket-id-change-on-currency.html ├── preezie-ga4-tracking.html ├── seo-rich-snippets-min-quantity-fix.html ├── tag-rocket-product-removal-tag-level.html ├── advanced-shipping-services-example-items.js ├── tag-rocket-outbrain.html ├── tag-rocket-bcee-ecomm.html ├── tag-rocket-google-customer-reviews.html ├── tag-rocket-floodlight.html ├── tag-rocket-hello-retail.html ├── social-tags.html ├── seo-rich-snippets-yotpo-api.html ├── tag-rocket-northbeam.html ├── tag-rocket-linkedin.html ├── tag-rocket-snapchat.html ├── tag-rocket-search-spring.html ├── tag-rocket-adroll.html ├── tag-rocket-affiliate-future.html ├── tag-rocket-tradedoubler.html ├── tag-rocket-reddit-ads.html ├── terms-feed-google-consent-mode.html ├── tag-rocket-tiktok.html ├── tag-rocket-matomo.html └── tag-rocket-brevo.html /speed-mods/brand.html: -------------------------------------------------------------------------------- 1 | {{!-- Added this to the partial head section ---}} 2 | 3 | {{#if brand.image}} 4 | 5 | {{else}} 6 | {{#if brand.products.[0].image}} 7 | 8 | {{/if}} 9 | {{/if}} -------------------------------------------------------------------------------- /speed-mods/product.html: -------------------------------------------------------------------------------- 1 | {{!-- Added this ---}} 2 | 3 | {{#partial "head"}} 4 | {{#if product.main_image}} 5 | 6 | {{else}} 7 | 8 | {{/if}} 9 | {{/partial}} -------------------------------------------------------------------------------- /speed-mods/web-fonts-disable-on-slow-connections.js: -------------------------------------------------------------------------------- 1 | var connection = navigator.connection||navigator.mozConnection||navigator.webkitConnection; 2 | var loadFonts = true; 3 | 4 | if (connection) { 5 | if (connection.saveData) { 6 | loadFonts = false; 7 | } 8 | else { 9 | switch(connection.effectiveType) { 10 | case 'slow-2g': 11 | case '2g': 12 | case '3g': 13 | loadFonts = false; 14 | break; 15 | } 16 | } 17 | } 18 | 19 | if (loadFonts) { 20 | // load web fonts 21 | } 22 | -------------------------------------------------------------------------------- /tag-rocket-cancel-cart-item-changed.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # BigCommerce 2 | 3 | For ten years we at [Web Site Advantage](https://websiteadvantage.com.au/BigCommerce-Packages) have been developing SEO related solutions for BigCommerce. in 2020 we released our first app, [SEO Rich Snippets](https://www.bigcommerce.com/apps/seo-rich-snippets/), to automate adding Rich Snippet generating Structured Data to stores. In 2021 we released our second app [Tag Rocket](https://www.bigcommerce.com.au/apps/tag-rocket/) which adds advanced tagging solutions as well as supports the new Google Analytics 4. 4 | 5 | I've decided to share some of our scripts here. 6 | 7 | ## [Advanced Social Tags](https://github.com/Tiggerito/BigCommerce/blob/main/social-tags.html) 8 | Adds extra Facebook, Twitter and Pinterest meta tags. 9 | -------------------------------------------------------------------------------- /tag-rocket-console-logger.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-ga4-cancel-add_shipping_info.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-ga4-language.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /speed-mods/home.html: -------------------------------------------------------------------------------- 1 | {{!-- Added this ---}} 2 | 3 | {{#partial "head"}} 4 | {{#if carousel.slides.[0].stencil_image}} 5 | 6 | {{else if products.featured.[0].image}} 7 | 8 | {{else if products.top_sellers.[0].image}} 9 | 10 | {{else if products.new.[0].image}} 11 | 12 | {{/if}} 13 | {{/partial}} -------------------------------------------------------------------------------- /tag-rocket-ga4-content_group.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /seo-rich-snippets-offer-additions.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /speed-mods/category.html: -------------------------------------------------------------------------------- 1 | {{!-- Added this to the partial head section ---}} 2 | 3 | {{#if category.image}} 4 | 5 | {{/if}} 6 | {{#if category.products.[0].image}} 7 | 8 | {{/if}} 9 | {{#if category.products.[1].image}} 10 | 11 | {{/if}} 12 | {{#if category.products.[2].image}} 13 | 14 | {{/if}} 15 | -------------------------------------------------------------------------------- /tag-rocket-ga4-fudge-accelerated.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-affiliate-conversion-example.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cloudflare/worker-header-preload.js: -------------------------------------------------------------------------------- 1 | addEventListener('fetch', event => { 2 | event.respondWith(handleRequest(event.request)); 3 | }); 4 | 5 | async function handleRequest(request) { 6 | let response = await fetch(request); // get the response, body is in a stream 7 | 8 | var contentType = response.headers.get("Content-Type"); 9 | 10 | if (contentType.startsWith('text/html')){ 11 | // append new preload links 12 | // it could be hard coded with sitewide links, but BigCommerce has dynamically created URLs! 13 | // https://developers.cloudflare.com/workers/learning/playground/ 14 | // In the playground you need to select a real URL and switch to the testing tab to see the altered headers 15 | 16 | // have to copy it to change it 17 | response = new Response(response.body, response); 18 | 19 | response.headers.append('Link', '; rel="preload"; as="style"; nopush'); // nopush to disable the push feature 20 | } 21 | 22 | return response; 23 | } 24 | -------------------------------------------------------------------------------- /seo-rich-snippets-availability-alteration.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-product-id-change2.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-gtag-modifications.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-user-data.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-facebook-external-hit-exclusion.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-price-alteration.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cookiebot-gtag-default.html: -------------------------------------------------------------------------------- 1 | 2 | 40 | -------------------------------------------------------------------------------- /bc-metadatafix-gascript.min.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-ga4-windsor-ai-fetch_user_data-event.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-gtag-link-tracking.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-bcee-dimensions.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-product-removal.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-disable-gtag-events-example.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-ga4-client_id_to_dataLayer.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /graphql-test-script.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-google-ads-product-removal.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-zycada.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-ga4-modifications.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-google-ads-label-change.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-product-id-change.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-change-order-total.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-bcee-modifications.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-hit-path.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /iubenda-onPreferenceExpressedOrNotNeeded.js: -------------------------------------------------------------------------------- 1 | function (preference) { 2 | /* 3 | Web Site Advantage: Iubenda Google Consent Mode [v1.0] 4 | Implements Google Consent Mode for use in the onPreferenceExpressedOrNotNeeded callback 5 | https://bigcommerce.websiteadvantage.com.au/ 6 | Copyright (C) 2024 Web Site Advantage 7 | */ 8 | if (!preference) { 9 | gtag("consent", "update", { 10 | "ad_storage": "denied", 11 | "ad_user_data": "denied", 12 | "ad_personalization": "denied", 13 | "analytics_storage": "denied", 14 | "functionality_storage": "denied", 15 | "personalization_storage": "denied", 16 | "security_storage": "denied" 17 | }); 18 | return; 19 | }; 20 | 21 | if (preference.consent === true) { 22 | gtag("consent", "update", { 23 | "ad_storage": "granted", 24 | "ad_user_data": "granted", 25 | "ad_personalization": "granted", 26 | "analytics_storage": "granted", 27 | "functionality_storage": "granted", 28 | "personalization_storage": "granted", 29 | "security_storage": "granted" 30 | }); 31 | return; 32 | }; 33 | 34 | if (preference.consent === false) { 35 | gtag("consent", "update", { 36 | "ad_storage": "denied", 37 | "ad_user_data": "denied", 38 | "ad_personalization": "denied", 39 | "analytics_storage": "denied", 40 | "functionality_storage": "denied", 41 | "personalization_storage": "denied", 42 | "security_storage": "denied" 43 | }); 44 | return; 45 | } 46 | 47 | if (preference.purposes) { 48 | 49 | var update = {}; 50 | 51 | for (var purposeId in preference.purposes) { 52 | 53 | var state = preference.purposes[purposeId] ? 'granted' : 'denied'; 54 | 55 | // settings are based on how the Iubenda GTM Template does it 56 | 57 | switch (purposeId) { 58 | case '2': // Functionality 59 | update.functionality_storage = state; 60 | update.security_storage = state; 61 | break; 62 | case '3': // Experience 63 | update.personalization_storage = state; 64 | break; 65 | case '4': // Measurement = Analytics 66 | update.analytics_storage = state; 67 | break; 68 | case '5': // Marketing = Ads 69 | update.ad_storage = state; 70 | update.ad_user_data = state; 71 | update.ad_personalization = state; 72 | break; 73 | } 74 | } 75 | gtag("consent", "update", update); 76 | } 77 | } -------------------------------------------------------------------------------- /tag-rocket-truyo.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-stop-conversions-example.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-early-monitoring.html: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /chrome-performance-report-lcp-timings.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /advanced-shipping-services.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-async.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /update-consent.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-bcee-data-feed-watch.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-kutoku.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /search-spring-canonical-fix.html: -------------------------------------------------------------------------------- 1 | 7 | 8 | {{!-- replace the base.html line {{{head.meta_tags}}} with this --}} 9 | 10 | {{assignVar "ChangeCanonical" 'no'}} 11 | {{#or (if page_type '===' 'category') (if page_type '===' 'brand')}} 12 | {{assignVar "ChangeCanonical" 'yes'}} 13 | {{/or}} 14 | 15 | {{#if (getVar "ChangeCanonical") '!==' 'yes'}} 16 | {{{head.meta_tags}}} 17 | {{else}} 18 | {{{strReplace head.meta_tags "rel='canonical'" "rel='disabled'"}}} 19 | 87 | 88 | {{/if}} 89 | 90 | -------------------------------------------------------------------------------- /tag-rocket-quora.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /graphql-testing.http: -------------------------------------------------------------------------------- 1 | # get from Stencil object settings.storefront_api.token 2 | @apiToken = eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJjaWQiOjEsImNvcnMiOlsiaHR0cHM6Ly93ZWJzaXRlYWR2YW50YWdlLm15YmlnY29tbWVyY2UuY29tIl0sImVhdCI6MTY4NjY1NjQ3MSwiaWF0IjoxNjg2NDgzNjcxLCJpc3MiOiJCQyIsInNpZCI6MjI1MzM5LCJzdWIiOiJiY2FwcC5saW5rZXJkIiwic3ViX3R5cGUiOjAsInRva2VuX3R5cGUiOjF9.u2ewbXR13Bv9doWx3vawaVRmBfrkpWa5ZsJKvxFag22MjRFRRFzQHyqFkOD31vuTuz--Tlmq9AF_TzJ53O04GQ 3 | 4 | @domain = websiteadvantage.mybigcommerce.com 5 | 6 | ### first try 7 | 8 | POST https://{{domain}}/graphql HTTP/1.1 9 | Content-Type: application/json 10 | Authorization: Bearer {{apiToken}} 11 | 12 | { 13 | "query": 14 | "query Products{site{products(first:25 entityIds:[4,30,33,36,37,44,29,42,39,34,46,24,28,27,26]){edges{node{entityId sku name gtin brand {name} categories{edges{node{name entityId breadcrumbs(depth:10 first:50){edges{node{name}}}}}}twoVariants:variants(first:2){edges{node{entityId sku }}}}}}}}" 15 | } 16 | 17 | ### neater formatting 18 | 19 | POST https://{{domain}}/graphql HTTP/1.1 20 | Content-Type: application/json 21 | Authorization: Bearer {{apiToken}} 22 | X-REQUEST-TYPE: GraphQL 23 | 24 | query Products{site{products(first:25 entityIds:[4,30,33,36,37,44,29,42,39,34,46,24,28,27,26]){edges{node{entityId sku name gtin brand {name} categories{edges{node{name entityId breadcrumbs(depth:10 first:50){edges{node{name}}}}}}twoVariants:variants(first:2){edges{node{entityId sku }}}}}}}} 25 | 26 | ### BC example - need to remove blank lines between the fragments. parameters are specified at the end. 27 | 28 | POST https://{{domain}}/graphql HTTP/1.1 29 | Content-Type: application/json 30 | Authorization: Bearer {{apiToken}} 31 | X-REQUEST-TYPE: GraphQL 32 | 33 | # Fetch details about a product by its ID 34 | # Stores in pre-launch or maintenance mode may reject queries. 35 | # Access from Control Panel > Advanced Settings > Storefront API Playground 36 | # or browse privately and query against https://buybutton.store/graphql 37 | query productById( 38 | $productId: Int! 39 | # Use GraphQL Query Variables to inject your product ID 40 | ) { 41 | site { 42 | product(entityId: $productId) { 43 | id 44 | entityId 45 | name 46 | plainTextDescription 47 | defaultImage { 48 | ...ImageFields 49 | } 50 | images { 51 | edges { 52 | node { 53 | ...ImageFields 54 | } 55 | } 56 | } 57 | reviewSummary { 58 | summationOfRatings 59 | numberOfReviews 60 | } 61 | prices { 62 | price { 63 | ...MoneyFields 64 | } 65 | priceRange { 66 | min { 67 | ...MoneyFields 68 | } 69 | max { 70 | ...MoneyFields 71 | } 72 | } 73 | salePrice { 74 | ...MoneyFields 75 | } 76 | retailPrice { 77 | ...MoneyFields 78 | } 79 | saved { 80 | ...MoneyFields 81 | } 82 | bulkPricing { 83 | minimumQuantity 84 | maximumQuantity 85 | ... on BulkPricingFixedPriceDiscount { 86 | price 87 | } 88 | ... on BulkPricingPercentageDiscount { 89 | percentOff 90 | } 91 | ... on BulkPricingRelativePriceDiscount { 92 | priceAdjustment 93 | } 94 | } 95 | } 96 | brand { 97 | name 98 | } 99 | } 100 | } 101 | } 102 | fragment ImageFields on Image { 103 | url320wide: url(width: 320) 104 | url640wide: url(width: 640) 105 | url960wide: url(width: 960) 106 | url1280wide: url(width: 1280) 107 | } 108 | fragment MoneyFields on Money { 109 | value 110 | currencyCode 111 | } 112 | 113 | { 114 | "productId": 4 115 | } 116 | 117 | ### check for redirects 118 | 119 | # @no-redirect 120 | https://athleticmuscle.net/ -------------------------------------------------------------------------------- /tag-rocket-id-change-on-currency.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /preezie-ga4-tracking.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /seo-rich-snippets-min-quantity-fix.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-product-removal-tag-level.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /advanced-shipping-services-example-items.js: -------------------------------------------------------------------------------- 1 | // product details 2 | var product = { 3 | price: 50, // -1 = price unknown 4 | priceCurrency: 'GBP', 5 | weight: 30, 6 | width: 10, 7 | height: 10, 8 | depth: 10, 9 | fixedShippingPrice: -1, // -1 = no fixed price. 0 = free 10 | fixedShippingCurrency: 'GBP' 11 | }; 12 | 13 | // USA - Always free shipping 14 | shippingItems.push({ 15 | cost: 0, // FREE 16 | currency: "USD", 17 | country: ["US"], // In the US 18 | handlingTimeMinDays: 0, 19 | handlingTimeMaxDays: 1, 20 | transitTimeMinDays: 1, 21 | transitTimeMaxDays: 3 22 | }); 23 | 24 | // Australia 25 | // Free in the Adelaide Metropolitan area 26 | shippingItems.push({ 27 | cost: 0, // FREE 28 | currency: "AUD", 29 | country: ["AU"], // In Australia 30 | postalCode: ["5000-5117", "512*", "5150", "5158", "5159", "516*-517*", "5950", "5960"], // Adelaide Metropolitan postcodes 31 | handlingTimeMinDays: 0, 32 | handlingTimeMaxDays: 1, 33 | transitTimeMinDays: 1, 34 | transitTimeMaxDays: 3 35 | }); 36 | 37 | // $10 in South Australia 38 | shippingItems.push({ 39 | cost: 10, 40 | currency: "AUD", 41 | country: ["AU"], 42 | region: ["SA"],// In South Australia 43 | handlingTimeMinDays: 0, 44 | handlingTimeMaxDays: 1, 45 | transitTimeMinDays: 1, 46 | transitTimeMaxDays: 5 47 | }); 48 | 49 | // Less than $15 in Australia 50 | shippingItems.push({ 51 | maxCost: 15, 52 | currency: "AUD", 53 | country: ["AU"], 54 | handlingTimeMinDays: 0, 55 | handlingTimeMaxDays: 1, 56 | transitTimeMinDays: 3, 57 | transitTimeMaxDays: 7 58 | }); 59 | 60 | // The UK 61 | // Use fixed shipping if provided 62 | if (product.fixedShippingPrice >= 0) { 63 | shippingItems.push({ 64 | cost: product.fixedShippingPrice, 65 | currency: product.fixedShippingCurrency, 66 | country: ["GB"], 67 | handlingTimeMinDays: 0, 68 | handlingTimeMaxDays: 1, 69 | transitTimeMinDays: 3, 70 | transitTimeMaxDays: 7 71 | }); 72 | } else { 73 | 74 | // else Free shipping over $100 75 | if (product.price > 100) { 76 | shippingItems.push({ 77 | cost: 0, 78 | currency: "GBP", 79 | country: ["GB"], 80 | handlingTimeMinDays: 0, 81 | handlingTimeMaxDays: 1, 82 | transitTimeMinDays: 3, 83 | transitTimeMaxDays: 7 84 | }); 85 | } else { 86 | // Costs for products under $100 are based on weight 87 | 88 | if (product.weight < 10) { 89 | shippingItems.push({ 90 | cost: 5, // the min shipping cost 91 | currency: "GBP", 92 | country: ["GB"], 93 | handlingTimeMinDays: 0, 94 | handlingTimeMaxDays: 1, 95 | transitTimeMinDays: 3, 96 | transitTimeMaxDays: 7 97 | }); 98 | } else if (product.weight < 20) { 99 | shippingItems.push({ 100 | cost: 10, 101 | currency: "GBP", 102 | country: ["GB"], 103 | handlingTimeMinDays: 0, 104 | handlingTimeMaxDays: 1, 105 | transitTimeMinDays: 3, 106 | transitTimeMaxDays: 7 107 | }); 108 | } else if (product.weight > 100) { 109 | shippingItems.push({ 110 | cost: 50, // the max shipping cost 111 | currency: "GBP", 112 | country: ["GB"], 113 | handlingTimeMinDays: 0, 114 | handlingTimeMaxDays: 1, 115 | transitTimeMinDays: 3, 116 | transitTimeMaxDays: 7 117 | }); 118 | } else { 119 | shippingItems.push({ 120 | cost: 10 + (product.weight / 3), // varying shipping cost 121 | currency: "GBP", 122 | country: ["GB"], 123 | handlingTimeMinDays: 0, 124 | handlingTimeMaxDays: 1, 125 | transitTimeMinDays: 3, 126 | transitTimeMaxDays: 7 127 | }); 128 | } 129 | } 130 | } -------------------------------------------------------------------------------- /tag-rocket-outbrain.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-bcee-ecomm.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-google-customer-reviews.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-floodlight.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-hello-retail.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /social-tags.html: -------------------------------------------------------------------------------- 1 | 6 | {{~!-- Variable Definitions Start --}} 7 | 8 | {{!-- Variable Definitions End --}} 9 | {{~#if settings.request.absolute_path '===' '/'}} 10 | 11 | 12 | 13 | {{~#if (getVar "homepage:og:description")}}{{~/if}} 14 | {{~#if settings.store_logo.image}}{{~/if}} 15 | {{~else if page_type '===' 'category'}} 16 | 17 | 18 | 19 | 20 | {{~#if category.image}}{{~/if}} 21 | {{~else if page_type '===' 'brand'}} 22 | 23 | 24 | 25 | {{~#if brand.image}}{{~/if}} 26 | {{~else if page_type '===' 'blog_post'}} 27 | 28 | 29 | 30 | {{~#if blog.post.thumbnail}}{{~/if}} 31 | {{~#if blog.post.author}}{{~/if}} 32 | 33 | {{~else if page_type '===' 'product'}} 34 | {{~#if product.brand.name}}{{~/if}} 35 | 36 | 37 | 38 | {{#if theme_settings.restrict_to_login '!==' true}} 39 | 40 | {{~#or product.price.rrp_with_tax.value product.price.rrp_without_tax.value}}{{~/or}} 41 | 42 | {{~/if}} 43 | {{~#if (getVar "product:retailer_item_id")}}{{~/if}} 44 | {{~#if (getVar "product:item_group_id")}}{{~/if}} 45 | {{~else}} 46 | 47 | {{~/if}} 48 | {{~#if page_type '!==' 'product'}}{{~/if}} 49 | {{~#if (getVar "fb:pages")}}{{~/if}} 50 | 51 | {{~#if (getVar "twitter:site")}}{{~/if}} 52 | {{~#if (getVar "twitter:creator")}}{{~/if}} 53 | -------------------------------------------------------------------------------- /seo-rich-snippets-yotpo-api.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-northbeam.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-linkedin.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-snapchat.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-search-spring.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-adroll.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-affiliate-future.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-tradedoubler.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-reddit-ads.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /terms-feed-google-consent-mode.html: -------------------------------------------------------------------------------- 1 | 2 | 71 | 113 | -------------------------------------------------------------------------------- /tag-rocket-tiktok.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-matomo.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tag-rocket-brevo.html: -------------------------------------------------------------------------------- 1 | --------------------------------------------------------------------------------