Announcement

Collapse
No announcement yet.

Help implementing Google Customer Reviews

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Help implementing Google Customer Reviews


    Need Help implementing Google Customer Reviews: Here is the portion of the Google snippet I need help with (I need the MIVA "tokens"):
    Code:
     "order_id": "ORDER_ID", "email": "CUSTOMER_EMAIL", "delivery_country": "COUNTRY_CODE", "estimated_delivery_date": "YYYY-MM-DD" <!-- Code for next business day date? -->
    Thank you, Bill Davis

    #2
    Code:
     
     "order_id": "&mvt:order:id;", "email": "&mvt:order:ship_email;", "delivery_country": "&mvte:order:ship_cntry;", "estimated_delivery_date": "YYYY-MM-DD" <!-- Code for next business day date? -->
    There is not native variable for estimated delivery date but you could take todays days and add X days to it:

    http://docs.miva.com/template-language/time-functions
    Brennan Heyde
    VP Product
    Miva, Inc.
    [email protected]
    https://www.miva.com

    Comment


      #3
      Originally posted by Brennan View Post
      Code:
      "order_id": "&mvt:order:id;", "email": "&mvt:order:ship_email;", "delivery_country": "&mvte:order:ship_cntry;", "estimated_delivery_date": "YYYY-MM-DD" <!-- Code for next business day date? -->
      There is not native variable for estimated delivery date but you could take todays days and add X days to it:

      http://docs.miva.com/template-language/time-functions
      Thanks, we just migrated from MM4.24c a few months ago,I took a look at the link you posted, but I was not able to make any sense of MIVA script time functions (seems a lot more complicated than Darren Ehlers OpenUI).
      Thank you, Bill Davis

      Comment


        #4
        It would look something like this. This takes the current time and adds 5 days to it.

        Code:
        <mvt:assign name="g.days_in_future" value="5 * (60 *60 *24)" />
        
        <mvt:assign name = "l.settings:month" value = "padl( time_t_month( s.dyn_time_t, 'local' ), 2, '0' )" />
        <mvt:assign name = "l.settings:day"   value = "padl( time_t_dayofmonth( s.dyn_time_t + g.days_in_future, 'local' ), 2, '0' )" />
        <mvt:assign name = "l.settings:year"  value = "time_t_year( s.dyn_time_t, 'local' )" />
        
        &mvt:year-&mvt:month;-&mvt:day;
        Brennan Heyde
        VP Product
        Miva, Inc.
        [email protected]
        https://www.miva.com

        Comment


          #5
          Originally posted by William Davis View Post

          Thanks, we just migrated from MM4.24c a few months ago,I took a look at the link you posted, but I was not able to make any sense of MIVA script time functions (seems a lot more complicated than Darren Ehlers OpenUI).
          Yes, OpenUI did make it simple, but I'd like to think that much of the new to you Miva tokens/functions are an outgrowth of Bill Weiland's Toolkit functions and Ray Yates' Toolbelt functions (in addition to Darren's OpenUI). What can be done now seems to be growing exponentially from where we were 20 years ago.
          Leslie Kirk
          Miva Certified Developer
          Miva Merchant Specialist since 1997
          Previously of Webs Your Way
          (aka Leslie Nord leslienord)

          Email me: [email protected]
          www.lesliekirk.com

          Follow me: Twitter | Facebook | FourSquare | Pinterest | Flickr

          Comment


            #6
            Originally posted by lesliekirk View Post

            Yes, OpenUI did make it simple, but I'd like to think that much of the new to you Miva tokens/functions are an outgrowth of Bill Weiland's Toolkit functions and Ray Yates' Toolbelt functions (in addition to Darren's OpenUI). What can be done now seems to be growing exponentially from where we were 20 years ago.
            I have no doubt that today's method is far more advanced than what Darren's OpenUI offered. But at what costs?

            Here is a great example. Implementation of simple conditionals conversion optimization messages are very complicated and costly to implement. We recently paid a professional with advance MIVA experience about 12 hours for the following conditional conversion messages to be displayed on our product/category pages.

            Examples:
            • “Only a few left in stock.”
            • “Only 1 left in stock!”
            • “This item qualifies for free US Shipping and Handling.”
            • “Add $[X.XX] to your order to receive free US Shipping and Handling.”
            • “Congratulations, your entire order qualifies from free US Shipping and Handling regardless how many items you add to this order!”
            • “See all similar items in [category anchor text name assigned to product]” if Out of Stock
            • “…perform a search for similar items” if Out of Stock
            • Hide price if Out of Stock

            Coding conditional conversion messages on MM4.24c OpenUI was a lot easier (granted not as powerful as M9.6); I did all of it on my own with a little help from the MIVA Forum All-Stars. I don’t believe the average store owner can learn to code conditional conversion messages on today's platform, which is significantly more complicated than HTML markup language.

            This is not about paying someone else to do something, I don't have a problem with that. Its about with all the undeniable and unbelievable advances made and feel so many steps taken backwards in this one are. Of course not having the option to do it yourself I guess would bother others too.
            Thank you, Bill Davis

            Comment


              #7
              Originally posted by Brennan View Post
              It would look something like this. This takes the current time and adds 5 days to it.

              Code:
              <mvt:assign name="g.days_in_future" value="5 * (60 *60 *24)" />
              
              <mvt:assign name = "l.settings:month" value = "padl( time_t_month( s.dyn_time_t, 'local' ), 2, '0' )" />
              <mvt:assign name = "l.settings:day" value = "padl( time_t_dayofmonth( s.dyn_time_t + g.days_in_future, 'local' ), 2, '0' )" />
              <mvt:assign name = "l.settings:year" value = "time_t_year( s.dyn_time_t, 'local' )" />
              
              &mvt:year-&mvt:month;-&mvt:day;
              Thanks!
              Thank you, Bill Davis

              Comment


                #8
                I think there's a number of issues at play here.

                First ecommerce in general has far more toggles, bells, whistles, etc... than it did in the OUI days, so to compare the two is challenging. The architecture of a 4.x OUI store simply could not scale to handle a high performance store today in a secure way. Second the more you make it point and click "easy" as a rule the more limitations you're building in to the core product or the more you're taking a performance hit that impacts scaling.

                If you use our competitors as examples, Shopify is "easy" but they are purposeful in their "don't do much" philosophy. In other words, they limit your choices for you, that helps make it easy but you certainly couldn't build the vast majority of even 4.x OUI functionality type stores on Shopify. BigCommerce tries to do a lot more, but has a lot of limitations (sometimes hidden, sometimes publicized), so sure you can do facets but only the first 300 items can be facets, then nothing will show. They do that to keep people from crushing their architecture and they've added a lot of overhead by trying to make the complex point and click simple.

                If you look at what high performance stores are using today (people doing thousands of transactions a day, week, month) with complex catalog's and rules, it's generally Miva or Magento or something custom, etc...

                Where we can we make things as simple as possible and easy to use via the GUI (Apple Pay is a good example, not a lot of things to configure), Marketplaces are also designed to be used by non-technical users as is probably 80% of the software, but the power features or things designed to be different for each implementation are now generally more developer oriented.

                That doesn't mean we're not always looking for ways to ease that impact, but it's not a simple choice IMHO.
                Thanks,

                Rick Wilson
                CEO
                Miva, Inc.
                [email protected]
                https://www.miva.com

                Comment


                  #9
                  Simple example to expand on what Rick mentioned. Without tools like jQuery/JSON/AngularJS your store would look like a dinosaur (no offence David :) ). None of those would have been remotely easy to implement with OpenUI's Architecture or even Toolkit.
                  Bruce Golub
                  Phosphor Media - "Your Success is our Business"

                  Improve Your Customer Service | Get MORE Customers | Edit CSS/Javascript/HTML Easily | Make Your Site Faster | Get Indexed by Google | Free Modules | Follow Us on Facebook
                  phosphormedia.com

                  Comment


                    #10
                    Thank you both Rick and Bruce, I understand and agree those are all excellent points. That is why I started and ended my post on how overall were far better off today (without getting technical).

                    The problem is that in business everything is important (especially in today's highly competitive market), some more than others obviously. Even though there are some Conversion Rate Optimization (CRO) strategies specific to; industry, categories and even products for online retailers, there are many common CRO strategies that most if not all share. Yet "conditional" CRO strategies is most often missed by small and mid-size retail websites to help close the sale and/or increase amount of sale. Though there could be a multitude of reasons why these "conditional" CRO strategies are missed, I believe its mainly due to;
                    1. Being overlooked and/or greater focus on other strategies (e.g.: SEO, Campaigns, etc...)
                    2. Lacks trained skill sets to develop common/tailored conditional CRO strategies, and/or
                    3. Lacks technical skill sets to implement conditional CRO strategies (which is my current issue after migrating from MM4.24c)

                    The great news is that despite how more complicated it may be to implement conditional CRO strategies, its nothing that can't be overcome no different than past challenges that has gotten us where we are today, though MIVA's culture "applied e-commerce ingenuity".

                    We can't lose sight that a high performance race car does not rely solely on its engine to win races. It’s an intricate balance of high performance components engineered to work together, the car as a whole is only as good as its weakest component.
                    Thank you, Bill Davis

                    Comment


                      #11
                      Finished snippet? Here's what I came up with. Does this look right to everyone? I tested in checkout and it did properly pop up the invite to the questionnaire. But for those stumbling upon this thread, we might as well toss in a free code snippet...... If there are any issues, just correct and re-post, and I'll edit this after.

                      Code:
                      <!-- START Google Customer Reviews -->
                      
                      <!-- Date -->
                      <mvt:assign name="g.days_in_future" value="5 * (60 *60 *24)" />
                      
                      <mvt:assign name = "l.settings:month" value = "padl( time_t_month( s.dyn_time_t, 'local' ), 2, '0' )" />
                      <mvt:assign name = "l.settings:day"   value = "padl( time_t_dayofmonth( s.dyn_time_t + g.days_in_future, 'local' ), 2, '0' )" />
                      <mvt:assign name = "l.settings:year"  value = "time_t_year( s.dyn_time_t, 'local' )" />
                      
                      <!-- Script -->
                      <script src="https://apis.google.com/js/platform.js?onload=renderOptIn" async defer></script>
                      
                      <script>
                        window.renderOptIn = function() {
                          window.gapi.load('surveyoptin', function() {
                            window.gapi.surveyoptin.render(
                              {
                                "merchant_id": 5268181,
                                "order_id": "&mvt:order:id;",
                                "email": "&mvte:order:bill_email;",
                                "delivery_country": "&mvte:order:bill_cntry;",
                                "estimated_delivery_date": "&mvt:year;-&mvt:month;-&mvt:day;"
                              });
                          });
                        }
                      </script>
                      
                      <!-- END Google Customer Reviews -->
                      Ted Hust
                      AarcMediaGroup.com

                      Celebrating 13 Years of Outstanding Service & Support
                      Miva Merchant Design

                      Comment


                        #12
                        Originally posted by aarcmedia View Post
                        Finished snippet? Here's what I came up with. Does this look right to everyone? I tested in checkout and it did properly pop up the invite to the questionnaire. But for those stumbling upon this thread, we might as well toss in a free code snippet...... If there are any issues, just correct and re-post, and I'll edit this after.
                        Aarcmedia,

                        Thanks a lot for sharing this code with the community! I appreciate you and Brennan and Rick all chiming in in this interesting thread. Take care, everybody!

                        Carlos Rivera - Web Developer
                        Haddrell's Point Tackle - haddrellspoint.com

                        Comment


                          #13
                          Hi All,

                          I had previously implemented GCR on my own and it was working fine. Apparently at some point it stopped showing the pop up. I used the code from aarcmedia as a fresh start and I am still not having any luck. I also use the
                          Code:
                          "opt_in_style": "CENTER_DIALOG"
                          tag. I tried various locations just in case and still no display.

                          The only thing I noticed that could be an issue is a block of white space at the beginning of the INVC page before the
                          Code:
                          <!DOCTYPE html>
                          . Could that be the issue? Maybe something else?

                          -Mike
                          Last edited by mikey; 12-20-17, 10:32 AM. Reason: Typo
                          http://www.bandana.com
                          http://www.wholesaleforeveryone.com

                          Comment


                            #14
                            Did you check for Javascript errors on the page? Javascript's most glaring weakness is that the failure of an upstream function can cause all other downstream functions to fail as well. So, it might not be a problem with the Google Script at all.
                            Bruce Golub
                            Phosphor Media - "Your Success is our Business"

                            Improve Your Customer Service | Get MORE Customers | Edit CSS/Javascript/HTML Easily | Make Your Site Faster | Get Indexed by Google | Free Modules | Follow Us on Facebook
                            phosphormedia.com

                            Comment


                              #15
                              I have an issue with sharing customers personal identifying information with third parties, especially with big tech. Is there away to display to shoppers Google Customer Review survey opt-in option before sharing order data with Google during checkout?
                              Thank you, Bill Davis

                              Comment

                              Working...
                              X