5 Replies Latest reply on Dec 3, 2013 9:36 AM by Kenny Elkington

    AssociateLead only works 15 of the time why?

      We have a game at http://www.quintiq.com/wrapstar. Your scores are stored in a mysql database, if you choose to register. In the game a php file is called via get with javascript to execute the mysql query. The same file also loads Munchkin to set an additional page visit and to associate the lead. The strangest thing is that only about 15% of the players stored in the mysql database actually make it into Marketo. I have spend almost 20 hours and I can't find the issue. Not only creating the lead, but also when I check for the additional page visit I can only find a small portion of the players.
        • Re: AssociateLead only works 15 of the time why?
          Gamers are among the savviest users. Many have bright coding skiils and deep knowledge on how things work. That is a good customer base to deal with. On the other hand many tend to remain "invisible".

          The fact a small portion go through associateLead and even visited web page is a potential symptom they have JavaScript disabled and/or resourcing to very smart proxy servers, often used to access peer-to-peer networks (P2P).

          That is a challenge for Marketo and most applications interacting with prospects and customers. 

          One suggestion is trying to reverse the IP of randomly selected leads. geoiptool.com is a good one. Some may be in genuinely unusual locations. The remaining would be behind proxy networks such as Tor. Identifying 85% or so is an interesting challenge. I am happy to join the cat and mouse game :)
          • Re: AssociateLead only works 15 of the time why?
            Thanks. The game is build with javascript and the call to the database is with javascript too. So all players stored in the mysql database have Javascript enabled. So all of them should be entering Marketo.

            I have created the PHP file which has the database connection. The game developer merely calls that file with $.get() and some parameters (which I won't share here) in the main game javascript.
            • Re: AssociateLead only works 15 of the time why?
              I have also tried to make sure the header is javascript/application and Munchkin was loaded earlier on the main game page (before the php file is called).

              I have also tried (on the php file) running the script within itself with $.getScript for Munchkin and in there the function to associate the lead and track the page view. This to make sure it was fully loaded as it's a callback.

              The only way the 'old' script works if some physically visits the php file (e.g. if it would be loaded in a 1px frame). But in my case the file is loaded with $.get within the javacsript of the game.

              If have looked at the javascript log in Firefox, but everything seems to be working.
              • Re: AssociateLead only works 15 of the time why?
                The nocript tag would be a very incovenient option to gather more details through the Munchkin JavaScript API :

                     <noscript>Please enable JavaScript!
                     <META HTTP-EQUIV="Refresh" CONTENT="0;URL=http://www.example.com/">
                     </noscript>

                     That would deflect users, a totally unwanted outcome. It would have no effect if they hava JavaScript enabled, just operating behind proxies. That is confirmed by your comment on Firefox's JavaScript log. The proxies can control what single pixel images can relay back. 

                     The techniques already in place are very clever. That is becoming an interesting puzzle.
                • Re: AssociateLead only works 15 of the time why?
                  Kenny Elkington
                  Hey Diederik,

                  One potential issue is the usage of ' or " in some of the parameters being sent via the associateLead call.  This can sometimes close a parameter inappropriately and cause the call not to execute.  You should look into setting the variables prior to execution of the call and URL encoding them to prevent closure of your parameters.

                  Another possibility is if you're calling associateLead prior to a new page load, the new page may be loading prior to the call execution finishing.