2017-03-02 52 views
0

Marketo経由で送信されていないメールからPDFリンクをクリックしたリードを追跡する方法が必要です。また、ファイルにアクセスするためにPDFファイルをゲートしたくない場合(フォームに記入するようクライアントに要求する) Marketo fourmsとサポートサイトをサポートしたり修理したりするために話をした後、これを達成する唯一の方法はREST APIコールを作成し、そのPC上のCookieファイルからリード情報を取得することです(私は思う)。私たちのPDFにアクセスするのは一般の人ではなく、一般の人ではありません)私は専門のコーダーではありませんので、私の研究からこのコードを修正しました。Marketo Cookieから得られたリード情報からMarketoフォームフィールドを自動入力

<script src="//xxx.marketo.com/js/forms2/js/forms2.min.js"></script> 
<form id="mktoForm_2244" style="display:none"></form> 
<script>MktoForms2.loadForm("//xxx.marketo.com", "xxx-xxx-xxx", 2244);</script> 

<script> 
MktoForms2.whenReady(function(form) { 

    //OnSuccess is optional - only if you need to make client-side decisions about Thank You URL 
    form.onSuccess(function(vals, tyURL) { 
    location.href = 'http://www.1234.com/rs/xxx-xxx-123/images/somepdffile.pdf'; 
    return false; 
    }); 

    //Get LEAD info from cookie 
    var mktoGet = new XMLHttpRequest(); 
    mktoGet.open("GET", "https://xxx-xxx-xxx.mktorest.com/rest/v1/leads.json?filterType=cookie&filterValues=<cookie>&fields=email,firstName,lastName&access_token=<token>", false); 
    mktoGet.send(); 

    //set the first result as local variable 
    var mktoLeadFields = mktoLead.result[0]; 

    //map your results from REST call to the corresponding field name on the form 
    var prefillFields = { 
      "Email" : mktoLeadFields.email, 
      "FirstName" : mktoLeadFields.firstName, 
      "LastName" : mktoLeadFields.lastName 
      }; 

    //pass our prefillFields objects into the form.vals method to fill our fields 
    form.vals(prefillFields); 
    }); 
    //Submit the form 
    form.submit(); 
}); 
</script> 

p.s.私はと値を置き換えて、私はブラウザでリンクを貼り付けると、私は成功の結果を得る。

答えて

0

このようにREST APIを使用することはできません。新しいアクセストークンを生成する必要があり、さらに問題があり、クライアント側で公開する必要があるからです。 私が考えることができる唯一の選択肢は、市場のリンク先ページへのリダイレクトリンクを使用することです。 空のリンク先ページを作成して、簡単にPDFにリダイレクトする次のコードを挿入します。

<script>location.href = 'http://www.1234.com/rs/xxx-xxx 123/images/somepdffile.pdf';</script> 

この活動は、知られているリード線のアクティビティログに記録されるだろうと

0
<script type="text/javascript"> 
    document.write(unescape("%3Cscript src='//munchkin.marketo.net/munchkin-beta.js' type='text/javascript'%3E%3C/script%3E")); 
</script> 
<script> 
    Munchkin.init('xxx-xxx-xxx'); 
</script> 
<script> 
if (!Array.prototype.indexOf) { 
    Array.prototype.indexOf = function(obj, start) { 
     for (var i = (start || 0), j = this.length; i < j; i++) { 
      if (this[i] === obj) { return i; } 
     } 
     return -1; 
    } 
} 
    (function(redirectTarget){ 
    var allowedOrigins = [ 
     'https://aaa.bbb.com', 
     'https://aaa.com', 
     'http://bbb.ccc.com', 
     ], // which domains are allowed for redirection 
     redirectMs = 3500, // how long before redirecting 
     progressMs = 500, // how long between updates of the "progress meter" 
     progressChar = '.', // progress character 
     errNoAsset = 'URL not found.', // message when no asset in hash 
     errInvalidAsset = 'URL not allowed.', // when asset not our domain 
     progress = setInterval(function(){ 
      if (redirectTarget) { 
      document.body.insertAdjacentHTML('beforeend',progressChar); 
      } else { 
      clearInterval(progress), clearTimeout(redirect);   
      document.body.insertAdjacentHTML('beforeend',errNoAsset);   
      } 
     }, progressMs), 
     redirect = setTimeout(function(){   
      var redirectLoc = document.createElement('a'); 
      redirectLoc.href = redirectTarget; 
      redirectLoc.origin = redirectLoc.origin || 
       [redirectLoc.protocol, 
        '//', 
        redirectLoc.hostname, 
        ['http:','http:80','https:','https:443'] 
        .indexOf(redirectLoc.protocol+redirectLoc.port) != -1 
         ? '' 
         : ':' + redirectLoc.port 
       ].join(''); 

      clearInterval(progress); 
      if (allowedOrigins.indexOf(redirectLoc.origin) != -1) {    
       document.location.href = redirectTarget; 
      } else { 
       document.body.insertAdjacentHTML('beforeend',errInvalidAsset);     
      } 
     }, redirectMs); 
    })(document.location.hash.substring(1)); 
</script> 
+0

誰もが後に何かを削除するには、コードに条件を追加する方法を知っています「?」リンクに? – Rayyis

関連する問題