What are the technical differences between all page types?

  1. Different page types are used for different functionalities.

  2. Hence on intialization each page type may call diferent functions / set different session storage elements.

  3. we can have a look at case wise description of functions called by each pageType.

  4. On each page initialization will call these methods

            case 1:
            Presell page:sessionStorage.removeItem("fkCart");
            sessionStorage.removeItem("fkCartSent");
            case 3:
                pageType = "upsellPage";
                assignProdQtyEventListeners();
                configureAmazonPay();
                configureApplePay();
            
            case 4:
                pageType = "checkoutPage"
                initSocialProof();
                initAddressFields();
                assignProdQtyEventListeners();
                removeNavigationOffersFromCart();
                sessionStorage.removeItem("upsalefkCart");
                configureGooglePay();
                configureAmazonPay();
    			configureSquare();
                configureRoutePlugin();
                configureApplePay();                
                facebookCustomerChat();
                configureFBMessengerCheckboxPlugin();
                configureLoyaltyLion();
    
            case 5:
                pageType = "thankyouPage"
                updateMap();
            
    
            case 7:
            "login":
                if (sessionStorage.getItem("loginCustomer"))
                    clubLogout();
                if (urlParams.get("emailAddress") && urlParams.get("orderId")) {
                    autoLogin(urlParams.get("emailAddress"), urlParams.get("orderId"));
                    return;
                }
                if (urlParams.has("userName") && urlParams.has("password")) {
                    autoLoginClub(urlParams.get("userName"), urlParams.get("password"));
                    return;
                }
              
    
             case 8:
            "Profile":
                initAddressFields();
           
    
             case 9:
                "memberAreaPage":
                configureLoyaltyLion();
            
    
            case 13:
                "changeProduct":
                sessionStorage.removeItem("newProductItem");
                sessionStorage.removeItem("currentItem");
                const currentProductItem = sessionStorage.getItem("actionCurrentItem");
                if (currentProductItem)
                    sessionStorage.setItem("currentItem", currentProductItem);
            
          
            case 15:
                pageType = "leadPage"
                initAddressFields();
                removeNavigationOffersFromCart();
           
    
            case 31:
            "pauseMembership":
                document.getElementsByName("custom_restartDate")[0] && affixImports("js","<https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js");>
          
    
           case 34:
                initSocialProof();
                displayPrices();
  5. Sometimes links can lead to a submit opearation, depending on the page type id different methods are called → // Lead page case 2: case "leadPage": case 15: importLead(linkId, route); // Checkout Page case 4: case "checkoutPage": importOrder(linkId, route); // Upsell Page case 3: case "upsellPage": importUpsale(linkId, route); default: setCurrentWindowLocation(route);

  6. If the template is not a funnel template → // Presell page case 1: navigationFromPresell(targetPageType, route); break; // Lead page case 2: case "leadPage": case 15: importLead(linkId, route); // Checkout Page case 4: case "checkoutPage": importOrder(linkId, route); // Upsell Page case 3: case "upsellPage": importUpsale(linkId, route); default: setCurrentWindowLocation(route);

  7. Some of the traits for components in the web builder are also visible depending upon the page type

    1. label: "Replacement",
      visibleOn: ["Checkout Page", "Upsell Page"]
    2. label: "Variant",
      visibleOn: ["Checkout Page", "Upsell Page", "Catalog", "Pop-up"]
    3.  label: "Free Shipping",
       visibleOn: ["Checkout Page"]
    4.  label: "Redirect Url"
       visibleOn: ["visualizer"]
    5.  label: "OFFER",
       visibleOn: ["Checkout Page", "Lead Page", "Opt-in", "Catalog", "Pop-up"]
    6.  label: "UPSELL",
       visibleOn: ["Upsell Page"]
    7.  label: "Variant",
       visibleOn: ["Checkout Page", "Upsell Page", "Catalog", "Pop-up"]
    8.  label: "Replacement",
       visibleOn: ["Checkout Page", "Upsell Page"]
    9.  label: "Replacement",
       visibleOn: ["Checkout Page", "Upsell Page"]
    10.  label: "OFFER",
       visibleOn: ["Checkout Page", "Lead Page", "Opt-in", "Catalog", "Pop-up"]
    11.  label: "UPSELL",
       visibleOn: ["Upsell Page"]
  8. We also have a list of blocks which are visible on each page here is the list of each page type and the blocks visible on them → testimonialElements : ["testimonial1", "testimonial2", "testimonial3", "testimonial4", "testimonial5", "testimonial6", "testimonial7"];

  9. checkoutPageElements : ["twoStepCheckout", "checkoutForm", "onlyPaymentElement", "paymentElement", "shopifyElement", "shopifyElement2", "shopifyElement3", "shopifyAddress", "multiProductCheckout", "shoppingCart", "totalAmountCalc", "shippingPriceCalc", "paypalButton", "affirmButton", "klarnaButton", "sezzleButton", "afterpayButton", "grandTotalCalc", "paypalButton2", "totalDiscount", "totalSalesTax", "couponElement", "shipProfile", "btnGoogle1", "btnGoogle2", "btnAmazonGold", "btnAmazonLight", "btnAmazonDark", "btnApplePayWhite", "btnApplePayBlack", "squareElement", "paymentOption"];

  10. thankYouPageElements : ["orderCostDetails", "billingDetails", "shippingDetails"]; leadPageElements : ["leadElementUserDetails", "leadElement1", "leadElement2", "leadVerticalUserDetails", "leadVerticalElement1", "leadVerticalElement2", "shopifyAddress", "shoppingCart"];

  11. updateCardElements : ["onlyPaymentElement"];

  12. productElements : [ "productCheckbox", "productRadioButtons", "orderBump", "orderBumpVariants", "productVariant1", "productVariant2", "variantBundle1", "variantBundle2", "productSelect", "productTile", "productTable"];

  13. upsellElements : [ "productCheckbox", "productRadioButtons", "orderBump", "orderBumpVariants", "productVariant1", "productVariant2", "variantBundle1", "variantBundle2", "productSelect", "productTile", "productTable", "btnGoogle1", "btnGoogle2", "btnAmazonGold", "btnAmazonLight", "btnAmazonDark", "btnApplePayWhite", "btnApplePayBlack"];

  14. shoppingCartElements : ["shoppingCart"];

  15. catalogElements : ["productSelect", "productVariant1", "productVariant2", "variantBundle1", "variantBundle2"];

  16. membershipPageElements : ["shipmentsTable"];