Knowledgebase

Sort by:
Common questions around how Marketo can be used to track Google AdWords information:   Q: Do I have to install a special Marketo App from the Salesforce.com AppExchange to get this functionality? A: No, there's no special Marketo App to install.   Q: Will this require custom coding? A: For the first scenario, Linking a Google Adwords Ad to a Marketo Landing Page with a Form, there is no coding required at all. The second scenario, Linking a Google Adwords Ad to Any Page on Your Website, requires a little bit of coding. To help with that, the links to the appropriate KnowledgeBase articles are included in this document.   Q: I can not code, but I still want to capture my Google Adwords PPC information using Marketo. What should I do? A: If you do not have coding experience, it's best to go with the first scenario since it does not require any coding. If you are interested in the second scenario, then we recommend leveraging any internal resources you may have who can code. You can send the relevant KnowledgeBase articles to the person who do the coding for reference.   Q: What kind of reports can I build using the standard Marketo Analytics? A: Here are a few examples of reports (see the Overview for a list of other metrics you can get) Which Google Adwords campaigns generated the most revenue? Which keyword and/or search term generated the most revenue? How many opportunities were generated by each Google Adwords campaign? Number of new leads by 'CampaignID' and associated opportunities   Q: If the same lead does another Google search and then clicks through a second (or third) Google Ad, will the original PPC information be overwritten? A: By default it will be overwritten. However, if your strategy is to track the original source PPC, then you can configure the PPC custom fields to be blocked from updates. This way, once the PPC information is populated in the custom fields, subsequent Google Ad click throughs and form submissions will not overwrite the existing values. Of course if your PPC strategy is to capture the most recent PPC information, then you can leave the custom PPC fields unblocked (default) and subsequent Google Ad click throughs and form submissions (by the same lead) will overwrite the existing information.   Q: If I already have Salesforce.com custom fields to capture all the PPC information on the lead & contact objects, do I still have to create custom fields in Marketo? A: If the custom fields are already there in Salesforce.com, then you do not need to create additional fields in Marketo. As long as the sync user has visibility to those custom fields, the fields should be synced over and be mapped accordingly.   Q: How does this work in Marketo? A: At a high level, you will need to do the following: Create custom fields in Salesforce.com Build a form with hidden fields which gets values from URL parameters Build a Marketo landing page with the form on it For all your 'destination links', include the URL parameters and associated value/token When the leads click through the Google Adwords Ad to your landing page, fills out the form, the PPC information will be submitted to the hidden fields (i.e. keyword, campaign, etc.)   Q: How much does it cost to configure Marketo to capture Google Adwords information? A: There is no cost if you follow the documented instructions. The simple scenario, Linking a Google Adwords Ad to a Marketo Landing Page with a Form, is recommended as you will get the metrics you need to understand effectiveness of your Google Adwords campaigns and keywords with the standard Marketo Analytics/Reports. However, if you are interested in engaging Marketo to assist you with the configuration, send an email to services@marketo.com and someone will set up a requirements scoping call to put together a cost estimate.   Learn more: Is this article helpful ? YesNo Google Adwords and Marketo Overview Linking a Google Adwords Ad to a Marketo Landing Page with a Form Linking a Google Adwords Ad to Any Page on Your Website  
View full article
Marketo users can configure Marketo to manage, nurture, and measure leads that are created from Google AdWords. We offer 2 options, depending on what type of web page is linked to your Google AdWords ad. Option 1: Link Google Adwords Ad to a Marketo Landing Page with a Form This solution does not require custom coding This solution does not require any additional cost Option 2: Link a Google Adwords Ad to Any Page on your Website This solution does require custom coding so that you can capture the PPC (pay per click) information when the lead comes back 'later' to fill out a form on your page Depending on whether you have resources internally to do the custom coding, this solution may or may not require additional cost Reporting Available (for both Option 1 and 2) Number of new leads acquired by Google Adwords Program Cost per new lead acquired by Google Adwords Program Number of leads acquired by keyword/search phrase Top 10 keywords/search phrases which acquired new leads Top 10 AdWords CampaignID which acquired new leads Number of Opportunities by keyword/search phrase Number of Opportunities by CampaignID Additional Reporting Available if you have Revenue Cycle Analytics/Explorer Conversion ratio of your Google Adwords Return to investment for your Google Adwords Top 10 keywords by month report which shows Average days to convert to opportunity Number of leads converted to opportunity Top 10 CampaignID’s by month report which shows Average days to convert to opportunity Number of leads converted to opportunity Program Channel report >> Google Adwords (custom channel) metrics by quarter New names, cost per new name Opportunity units, Pipeline generated, revenue, revenue to investment Additional Information For more information on the Salesforce for Google Adwords (SFGA) end of life, please refer to this Salesforce.com page: Salesforce for Google AdWords Retirement FAQ Learn more: Linking a Google Adwords Ad to a Marketo Landing Page with a Form Linking a Google Adwords Ad to Any Page on Your Website Google Adwords and Marketo FAQs
View full article
You may need to have multiple CNAMEs to brand your landing pages for different product lines or company divisions. We recommend that all CNAMEs be on the same domain since cookies do not travel across domains. A good example would be: product1.mycompany.com product2.mycompany.com product3.mycompany.com If you absolutely need the domains to be different that is fine, just keep in mind that you will have to run a tagging campaign to every single domain to ensure that all activity across all domains are being tracked under the same lead in Marketo. This would look something like this: go.mycompany1.com go.mycompany2.com go.mycompany3.com Before you begin adding multiple CNAMEs in Marketo your IT staff will need to create the CNAME records on your domain(s) DNS. See Customize Your Landing Page URLs With a CNAME to have your IT staff create the records and to set the first CNAME. Once that has been completed you can add your additional CNAMEs as Domain Aliases.   Go to Admin then click on Landing Pages. Click on New then New Domain Alias. Enter your Domain Alias and click on Use non-Marketo Landing Page if you want to set the default page to an external one. Enter your Default Page and click Create. Nice job! Now all your Marketo landing pages can be pulled up from two different URLs, in this example: http://product1.mycompany.com/contact.html http://product2.mycompany.com/contact.html   Is this article helpful ? YesNo
View full article
Required Profile Permissions for Marketo Synchronization API Enabled Manage Public Documents Manage Public Templates Edit HTML Templates Edit Events Edit Tasks Convert Leads Transfer Lead* Transfer Record* Enable Read/Create/Edit/Delete access on the following required Standard Object Permissions: Opportunities Contacts Leads Accounts Campaigns (if you choose to enable campaign sync) From the Profile Detail page, click Edit and complete the steps in this section. In the old profile layout the following should help: Enable the following Administrative Permissions: API Enabled Manage Public Documents Manage Public Templates Edit HTML Templates Transfer Record * Enable the following General User Permissions: Edit Events Edit Tasks Convert Leads Transfer Lead* Enable Read/Create/Edit/Delete access on the following required Standard Object Permissions: Opportunities Contacts Leads Accounts Campaigns (if you choose to enable campaign sync) Click Save to save your changes and return to the Profile Detail page. Enable Read access on any custom objects that you'd like to sync with Marketo. Marketo only supports syncing of custom objects associated with leads, contacts, and accounts. For merging leads, this profile needs Edit and delete access on the lead object and on all objects (standard and custom) that your Leads and Contacts use.   *Transfer Lead and Transfer Record are optional but may be required if you wish for Marketo to be able to change the owner of a record   You must add each field you want synced to Marketo to your page layout; all other fields will not be synced.  If you use other editions of Salesforce, Marketo will sync down all fields that the sync account has permission to access (whether or not they're in the page layout). Is this article helpful ? YesNo
View full article
When a new lead enters Marketo from A form fillout SOAP or Munchkin API call, or List Import Marketo automatically searches for a lead with the same email address.  If that lead exists, the existing lead is updated instead of creating a duplicate. However, Marketo does not automatically de-duplicate leads who are already in your database. This is especially a problem for new customers who often have many duplicate leads in their database. Also, if you add a new lead directly into Salesforce (t hrough the Salesfo rce import process or web-to-lead forms) Salesforce will create a duplicate lead that gets synced into Marketo. When this happens, you can use Marketo to find and fix those duplicates. How Marketo handles duplicates The primary consequence of duplicates is that one lead record could have the most relevant information about that lead while your sales rep is looking at the incomplete duplicate. For example, say that you have a duplicate lead in your database and that lead fills out a form on your website. Marketo always updates the lead record that was most recently updated. In another case, say you run a campaign to email your lead database and two duplicates are included in your campaign run. Marketo automatically detects the duplicate email address and ensures that only one email is sent to that lead. That email send and subsequent activity will be attributed to the most recently updated lead. When you merge leads, their entire history is combined, and you can control which fields are kept in the final lead. You won't lose any information or tracking. Most customers have many duplicates when they start with Marketo. After initially de-duplicating your database, the work to keep your database de-duplicated is usually very small. You should work to stop the sources of duplicate leads and make Marketo your single point of entry for all new leads. Finding Duplicates Go to the Lead Database section of the app. Then click on the Possible Duplicates list in the tree. Click the grid header that says Email .  You can sort by Email address to see the duplicates next to each other. Selecting multiple leads Select two leads that have matching email addresses.  You can do this by holding the "control" key down while clicking on the two different leads.  (You can merge more than two at a time, but start with two.) Tip: Sometimes clicking too fast will make the grid select incorrectly.  Clicking a little slower usually helps. When you have two rows selected or highlighted, click the Merge Leads button in the toolbar. The Merge Dialog A dialog will appear showing you all the fields that differ between the two leads.  You need to pick which values to keep in the merged lead.  Not every field is displayed -- just the ones that you need determine appear. By default, the values from the most recently updated lead will be selected (with a check and highlighed yellow). To pick a different value for the merged lead, click the checkbox next to that value. If you want to enter your own values for the merged lead, click the Custom field for that row then type in your own value: When you're done, click Merge .  The winning values will be kept in the merged lead; the other values will be discarded. Important : Clicking merge will instruct Salesforce to merge the records properly.  All Salesforce and Marketo activities are merged into the remaining lead.  Nothing is lost.  Campaign History is also kept. Duplicate pattern matching You will notice that the Possible Duplicates list has a Smart List tab.  Click on the Smart List and you will see it's using the "Possible Duplicates" filter on the "Email Address" field. You can change this filter to search other fields for duplicates. Click the little green plus in the definition. Note : You should use only one Duplicate Fields filter in your Smart Lists.  If you want to check multiple fields, always use the green plus button to add multiple fields; don't drag in a second filter. When you change the Duplicate Fields filter, you should sort the Leads grid by the column you're checking to put the duplicates next to each other. EasyMerge Program Marketo offers a service for mass-merging of duplicates.  Please refer to this article: EasyMerge tool and process​. What happens when I merge two leads in Salesforce? When you merge leads or contacts in Salesforce, Marketo will also merge the matching leads in your lead database. See this article to learn more about how that works: What happens when I merge two leads in Salesforce? Is this article helpful ? YesNo
View full article
This article explains how to enable tracking if your Google AdWords ad is configured to link to a Marketo landing page with a Marketo form. When the lead fills out the form on the landing page, the Google Adwords CampaignID and keyword values will be passed to Marketo through hidden fields. High-level Requirements Create custom Marketo fields to capture the PPC information Add those fields as hidden fields to the Marketo form(s); configure the hidden fields to get their value from the URL Parameters Add parameters to your destination links in Google AdWords ads using static values or ValueTrack parameters; you can use the Marketo or Google URL builder to simplify this Decide on an 'original' or 'most recent' PPC source strategy If your PPC strategy is to capture original PPC source, then the custom PPC fields need to be configured to block field updates. If your PPC strategy is to capture the most recent PPC source, then you can use the default configuration (i.e. fields not blocked from updates). Enter PPC program period (monthly) cost information Benefits This solution does not require custom coding This solution does not require any additional cost Analytics - Standard Number of new leads acquired by Google Adwords Program Cost per new lead acquired by Google Adwords Program Number of leads acquired by keyword/search phrase Top 10 keywords/search phrases which acquired new leads Top 10 AdWords CampaignID which acquired new leads Number of Opportunities by keyword/search phrase Number of Opportunities by CampaignID Analytics - Revenue Cycle Analytics (RCA) Conversion ratio of your Google Adwords Return to investment for your Google Adwords Top 10 keywords by month report which shows Average days to convert to opportunity Number of leads converted to opportunity Top 10 CampaignID’s by month report which shows Average days to convert to opportunity Number of leads converted to opportunity Program Channel report >> Google Adwords (custom channel) metrics by quarter New names, cost per new name Opportunity units, Pipeline generated, revenue, revenue to investment Instructions Create the custom fields in Salesforce.com on both the lead and contact object, making sure they map from lead to contact. The custom fields will sync over to Marketo mapped 2 Salesforce.com fields to 1 Marketo field. For instructions to create Salesforce.com custom fields, please reference Salesforce.com knowledgebase or work with your Salesforce.com Administrator. If you do not want these custom fields in Salesforce.com, you can create the fields in Marketo. Custom fields you create in Marketo will be Marketo only fields as they will not sync over to Saleforce.com. The custom fields to be created Campaign Source (utm_source) Required. Use utm_source to identify a search engine, newsletter name, or other source. Example: utm_source=google Campaign Medium (utm_medium) Required. Use utm_medium to identify a medium such as email or cost-per-click. Example: utm_medium=cpc Campaign Term (utm_term) Used for paid search. Use utm_term to note the keywords for this ad. Example: utm_term=running+shoes CampaignID (utm_campaign) Used for keyword analysis. Use utm_campaign to identify a specific product promotion or strategic campaign. This can be used to capture the Adword CampaignID Example: utm_campaign=spring_sale Create a Marketo program (i.e. Google Adwords Program) and use a program channel (i.e. custom 'Google Adwords' channel) with 'converted' as the success progression status. Make sure you assign the associated period costs for this program on the setup tab. You will need to do this on a monthly basis; this is required if you want to get a 'cost per' analysis. Create a Marketo form with all the above fields on the forms as 'hidden fields' configured to get values from a URL parameter. Include other fields as normal and call this 'PPC Form' Map the URL parameter to the associated hidden field (i.e. utm_source maps to 'Campaign Source') Create a Marketo landing page which you will use to link the Google Adwords ad Include the PPC Form on this landing page. Use the Marketo URL Builder to add the key values and parameter tokens to the URL. In the example below, the first URL is the URL to the landing page, and the second URL includes the URL parameters and associated values/tokens. URL: http://info.mycompany.com/lp/example/PPCExample-Start-Your-Free-Trial-Now.html Tagged URL: http://info.mycompany.com/lp/example/PPCExample-Start-Your-Free-Trial-Now.html?utm_source=AdWords&utm_medium=PPC&utm_term={keyword}&utm_content={creative} When configuring your Google Ad, use the tagged URL as the destination link which takes the lead who clicks on the Google Ad to the landing page. The keyword and CampaignID will be passed automatically when the lead clicks through the Google Adwords ad. The Source (Adwords) & medium (PPC) will be passed as the values in the tagged URL Learn more: Google Adwords and Marketo Overview Linking a Google Adwords Ad to Any Page on Your Website Google Adwords and Marketo FAQs
View full article
If you tried to Verify the Setup and Configuration of Marketo Sales Insight via the Sales Insight tab in the Admin section of Marketo Lead Management, and the MSI Status wasConfiguration Problem, a configuration error in your Marketo Sales Insight setup was detected, meaning that one or more of the required fields/objects for synchronization were not properly configured in Salesforce. Click the Configuration Problem link to launch the Salesforce Configuration Problem dialog box, which displays the detected errors. Sample Error Dialog Box: The system verifies the configuration of the following eight check points in Salesforce: Lead Score Field (Lead) Lead Score Field (Contact) Relative Score Field (Lead) Relative Score Field (Contact) Relative Urgency Field (Lead) Relative Urgency Field (Contact) Priority Score Field (Lead) Priority Score Field (Contact) The error message displays the fields/objects that are causing errors during sync between Marketo and Salesforce. The goal of this article is to repair these configuration problems and ensure that the proper permissions are set to read and write to these fields/objects during sync. Refer to one of the sections below to repair these errors in Salesforce Professional Edition or in Salesforce Enterprise or Unlimited Edition. How to Repair Configuration Problems in Salesforce Professional Edition To repair configuration problems in Salesforce Professional Edition: Log in to the Salesforce as an Admin. Within Salesforce, add the fields noted in the error message to the required Lead and/or Contact layouts to repair the error. Open the Fields section at the top of the Layout page, then drag in the fields/ Once the fields are in place, click Save at the top of the layout page. Note The MSI Status on the Sales Insight tab will update to verify the config is valid after the next bi-directional sync. Marketo recommends that you check the Sales Insight tab to confirm the repair and that the MSI Status changed to Configured. How to Repair Configuration Problems in Salesforce Enterprise or Unlimited Edition To repair configuration problems in Salesforce Enterprise or Unlimited Edition: Ensure that the Salesforce user account that is used for Marketo sync has the proper permissions to read and write to the fields noted in the error message. Note The MSI Status on the Sales Insight tab will update to verify the config is valid after the next bi-directional sync. Marketo recommends that you check the Sales Insight tab to confirm the repair and that the MSI Status changed to Configured.
View full article
The only reason why you should ever completely remove the unsubscribe content from the “Admin -> Email” area is because you are choosing to build the unsubscribe link into the Email Templates themselves. The text box has validation which does not allow you to save with no content, you can get around it by adding a small HTML comment, the HTML comment will not show up in the Email Client as it is rendering the Email in HTML and the comments are omitted. Here is how to do it: Go to Admin and click on Email. Select all the text and hit the delete key on your keyboard. Before deleting, copy/paste into notepad as a backup. Type in <!--This is a comment -->. Click Save Changes. For the Unsubscribe Text you have to add a single character, use a dash or a period.
View full article
Follow these steps to create a lead performance report with mobile platform (iOS/Android) columns: Learn how to: Create Mobile Smart Lists Create a Lead Performance Report Add Mobile Smart Lists as Columns Create Mobile Smart Lists 1.1   Under Marketing Activities , select a program. 1.2   Under New , click New Local Asset . 1.3   Click Smart List . 1.4   Enter a Name and click CREATE . 1.5   Find and drag the Opened Email filter into the canvas. 1.6   Set Email to is any . 1.7   Add the Platform constraint. We used the Opened Email filter in this example, you can also use the Clicked Email filter as it has the Platform constraint. Is this article helpful ? YesNo   1.8   Set Platform to iOS .   At least one lead must have opened one of your emails on an iOS device in order for the autosuggest to find it. If it does not, you can manually type it in and save.
View full article
If you ever need to change your CNAME there are a few things you should consider. Old Links In order to ensure that old links sent out via email are not broken, you should: Remove the old CNAME Setup your new primary CNAME Add the old one back in as a domain alias. You can use Add Additional Landing Page CNAMEs for detailed instructions on adding a secondary CNAME. This will allow all old links to still be functional. Cookies Our recommendation is to change the sub-domain so that cookies can be shared. If you change the top level domain itself, the cookies cannot be shared and every lead would have to re-introduce itself to the new domain by either clicking on a link in an email or filling out a form. Same top level domain go.mycompany.com > info.mycompany.com Good! Cookies are shared. Different top level domains go.mycompany.com > go.mynewcompany.com Bad! Cookies are not shared.
View full article
Having sync troubles with SFDC?  Try this quick checklist to see if it solves your problems. How can I tell if there's a sync problem with Salesforce? Symptoms of a broken SFDC sync include: Your information hasn't sync'd in the last few hours (and this isn't your first sync) "Sync lead with Sales" isn't working Checked activity history items or SFDC Tasks aren't being sent to SFDC Before you go any further, go to the Salesforce section of the Admin page and look at the Last Synced time: If it's been more than an hour, try these steps. Enter your SFDC username, password, and token Log into Marketo and go to the Salesforce section of the Admin tab.  Look at the account that's syncing to Salesforce. Are the credentials blank?  If so, take a minute to set up your Salesforce sync. Setting up Salesforce.com Integration Did you recently make large changes in your Salesforce database such as adding custom fields or changing many field values?  Large changes to your SFDC database may take longer than usual to sync into Marketo. Check if SFDC sync is enabled Is sync enabled?  If it's disabled , the button says "Enable Sync."  Click the button to enable sync. Otherwise, the button reads "Disable Sync."  You can leave the button alone if this is the case. Check your SFDC username, password, and token Did you change your SFDC password recently?  Or did you reset your SFDC security token?  If so, click the Edit Credentials button and enter the new information. Remember that if your password changes, your security token changes as well; you'll need to update both at the same time. Is the SFDC account active? Go to the Users section of your Salesforce.com account.  Open the SFDC Setup section. Open the account you're using for sync (Administration -> Manage Users -> Users, then click "Edit" for the account used for sync).  Is the account active?  If not, enable the box and click "save", then wait a few minutes to see if sync resumes. SFDC permissions Does the account have the correct permissions?  When you edited the user's record, the Profile is right above the Active flag. Open the profile for that account (Administration -> Manage Users -> Profiles) and edit the profile for the sync account.  Scroll down the page to the "Administrative Permissions" section. Check this article to see what object and administrative permissions are required for Marketo to access your SFDC account successfully: Required Salesforce permissions for the Salesforce sync account Trusted IP addresses Does your company have any IP address restrictions on your SFDC account (blocked or trusted IPs)?  If you use Trusted IP addresses, Salesforce will send you an authorization email to confirm that Marketo is legitimately accessing Salesforce.  Follow those instructions and you'll be allowed to use the API with that account. Login Hours Do you have login hours set for the sync user's profile?  View the profile (as opposed to "edit" above) and scroll down to the Login Hours section. If you have login hours set, unset them by clicking "Edit", then click "clear all times" and finally click "Save". If none of these steps solves your Salesforce.com sync problems, call Marketo Support and we'll help you resolve the problem.
View full article
Set a Form Thank You Page   What happens when someone fills out form? Where are they forwarded to? Check out how to configure it: Edit Form 1.1 Go to the Marketing Activities area.       1.2 Select your form and click Edit Form.     1.3 Under Form Settings click Settings.   1.4 Scroll down to the Thank You Page section.          Learn how to: Edit Form Stay On Page External URL Landing Page Dynamic Thank You Pages   Stay On Page   The Stay On Page option will result in the person staying on the same page when the form has been submitted. 2.1 Select Stay On Page for Follow Up With.     External URL The External URL setting allows you to define any URL as the follow-up page. Once the user has submitted the form they will be directed to the URL specified. 3.1 Select External URL for Follow Up With.     3.2 Enter the full URL.       Tip   The URL can be that of a file hosted somewhere, if you do this, the "Submit" button will behave like a "Download" button. Is this article helpful ? YesNo
View full article
Issue: With long options in a select (dropdown) list, Internet Explorer will not expand the values as Firefox, Chrome and other browsers will do. This makes reading the values in the dropdowns impossible.   Solution: Insert the following Javascript/CSS in a Custom HTML box on your landing page. This script will only run if IE is used.   < script src="/js/public/jquery-latest.min.js" type="text/java script "></ script > < script type="text/java script "> var $ = jQuery.noconflict();     $(document).ready(function() {   if ($.browser.msie) {   $('selec t.mktFormSelect')   .bind('focus mouseover', function() {   $(this).addClass('expand').removeClass('clicked');   $(this).parents('li').addClass('liexpand'); })   .bind('click', function() { $(this).toggleClass('clicked'); })   .bind('mouseout', function() { if (!$(this).hasClass('clicked')) {   $(this).removeClass('expand');   $(this).parents('li').removeClass('liexpand'); }})   .bind('blur', function() {   $(this).removeClass('expand clicked');   $(this).parents('li').removeClass('liexpand'); });   }   }); </ script >     <style type="text/css">   select.expand { width: auto !important; position: absolute; } li.liexpand { padding-bottom: 22px !important; padding-bottom: 9px !important\9; } *+html li.liexpand { padding-bottom: 9px !important; } </style>   Is this article helpful ? YesNo
View full article
Every link you include in your emails will have tracking code automatically appended when sent. Marketo adds a generic domain to the tracking code, for brand consistency and improved delivery rates we recommend that you brand your tracking links. Here is how: Admin rights required. Choose a CNAME You likely already have a landing page CNAME such as info.yourdomain.com, you can pick another subdomain for your branded tracking links CNAME.Examples to choose from: go.yourdomain.com get.yourdomain.com pages.yourdomain.com The branded tracking CNAME must be different than your landing page CNAME. Gather Information Now that you have decided on a branded tracking CNAME you need find the current one being used. Go to Admin then Email and copy the current tracking domain. Contact IT Ask your IT to create a CNAME that redirects the CNAME you chose earlier to the current domain you copied in the previous step: go.yourdomain.com > mkto-qe0877.com These values will be unique to your instance, do not copy paste items from this article, find them in your instance. Configure Marketo 1. Once your IT has completed the creation of the CNAME, go back to Admin then Email and enter your branded tracking CNAME and Branding Domain 2. Click Save Changes. T That's it! Make sure to send yourself an email that has a link in it from Marketo and test the link to ensure that the branded tracking link CNAME is working properly. NOTE: If you'd like more information about branding domains, like how to set up multiple ones, delete others or reset a default, check out the documentation here: Add Multiple Branding Domains - Marketo Docs - Product Docs
View full article
Please ensure that you have access to an experienced JavaScript developer. Marketo Technical Support is not set up to assist with troubleshooting JavaScript. Here's our recommendation for how you can collect keyword, search engine, and PPC info in Marketo.  It takes a bit of work, and you'll definitely need to know your Javascript. 1. Create custom fields You'll need to create some new fields to store the additional data. If you want these fields to be visible in Salesforce, create them on both Lead and Contact records. All of these should be of type String: Search String -- to store the query that drove the lead to your web page Search Engine -- the search engine or URL which provided the lead your web page Pay Per Click Keyword -- if the link was a PPC (ex. AdWords), the PPC keyword for that link 2. Add the fields to your forms Go to the Design Studio and edit any forms where you want to capture this information.  Add the fields you created as hidden fields set to a default value (as opposed to set from a cookie or URL parameter). You'll probably want to leave the default value as blank -- that is, the lead did not come from a PPC -- but feel free to put in another value if appropriate (Making a Field Hidden on a Form) This solution will not update the Lead Source for leads who come to your site via PPC.  If you want the lead source updated for PPC leads, you'll need to do that via a Smart Campaign or by adding it as a hidden field to your forms. 3. Put Javascript on your landing pages You MUST edit the Javascript below or it will not work!The code below sets cookies with the search engine, search term, and PPC info as long as it came from a domain outside your website. The script then populates the form fields using the cookie values. The reason for using cookies is because your leads may not fill out your form when they first hit your landing page; they may click your AdWords ad, browse around, and then go to your form.  Cookies retain those values for when they're needed -- when the leads complete your form.Using cookies also lets you capture this info on non-Marketo pages too.  See step 4 if you're interested in that.If you want this on a single landing page, add it as a Custom HTML block.  If you want this on several or all your landing pages, add it to your Landing Page Template.You'll need to change the following variables/strings, highlighted in the Javascript below: Variable Description excludedReferrers All domains where you don't want to check referrers as in "company.com" -- typically these are your own website domains. If you need to exclude multiple domains, separate them with commas. cookieDomain The base domain of your landing pages without any subdomians (like "www." or "pages.").  This will be used to store cookie values.  If your landing pages are on "pages.yourcompany.com" then this should be "yourcompany.com". payPerClickParameter The URL Parameter with the keyword depending on how you set up your your pay per click URLs. Typically "keyword" or "kw". searchStringField searchEngineField payPerClickKeywordField IDs of the hidden form fields where the cookie values should be inserted. Find them by following the instructions in this article: Setting or Getting a Form Field Value via Javascript on a Landing Page <script src="/js/public/jquery-latest.min.js" type="text/javascript"></script> <script src="/js/public/jquery.cookie.js" type="text/javascript"></script> <script src="/js/public/jQueryString-2.0.2-Min.js" type="text/javascript"></script><script type="text/javascript"> var $jQ = jQuery.noConflict();$jQ(document).ready(function(){   //    //--- CHANGE THESE!!! ---    //    // Change this to match domains of referrers you want to ignore.     // You'll want to ignore referrers from your own domains.     // Use only the base domain name without subdomains (ex. "company.com")     // Separate multiple domains with commas (leave the brackets).   var excludedReferrers = [ "yourcompany.com", "yourcompany2.com" ];    // Change this to match the base domain of your company's landing pages.     // Cookies will be created with this domain.     // Ex. If your landing page domain is "pages.yourcompany.com" then use     //     "yourcompany.com"   var cookieDomain = "yourcompany.com";    // The URL parameter that has your pay-per-click info.     // Typically "kw" or "keyword" (depends on how you set up your PPC URLs)   var payPerClickParameter = "keyword";    // IDs for the fields to be updated.   var searchStringField = "#Search_String__c";   var searchEngineField = "#Search_Engine__c";   var payPerClickKeywordField = "#Pay_Per_Click_Keyword__c";   //    //-- you probably shouldn't change anything after this --    //  var refer = document.referrer;   var searchString;   var searchEngine;      // if there's no referrer, do nothing   if ( (refer == undefined) || (refer == "") ) { ; }   else {      // get the domain of the referring website -- http://[[this-thing.com]]/     var referrerDomain =       refer.substr(refer.indexOf("\/\/") + 2,         refer.indexOf("\/",8) - refer.indexOf("\/\/") - 2).toLowerCase();    var excludedDomainFound = false;     var i = 0;      // search the excluded domain list to see if the referrer domain is on it     while ( (i < excludedReferrers.length) && !excludedDomainFound) {       var thisExcludedDomain = excludedReferrers[i].toLowerCase();        // weird semantics here -- indexOf returns "-1" if the search string isnt found.         // thus excludedDomainFound is true only when indexOf matches an excluded domain (!= -1)       excludedDomainFound = (referrerDomain.indexOf(thisExcludedDomain) != -1);       i++;     }     // only if the referrer isn't in our excluded domain list...     if( !excludedDomainFound ) {         // extract the URL parameters from common search engines         // To add your own, each engine needs:         //  name: how the search engine will appear on your Marketo leads         //  url: REGEX for matching the engine's referrer.  ex.  /\.google\./i         //  query: URL parameter that contains the search query - usually "p" or "q"      var searchEngines = [        { name: "Yahoo", url: /\.yahoo\.co/i, query: "p" },        { name: "Google", url: /\.google\./i, query: "q" },        { name: "Microsoft Live", url: /\.live\.com/i, query: "q" },        { name: "MSN Search", url: /search\.msn\./i, query: "q" },        { name: "AOL", url: /\.aol\./i, query: "query" },        { name: "Bing", url: /\.bing\.com/i, query: "q" },        { name: "Ask", url: /\.ask\.com/i, query: "q" }       ];        // find the referring search engine (if any)       i = 0;       while (i < searchEngines.length) {         if (refer.match(searchEngines[i].url)) {           searchEngine = searchEngines[i].name;           searchString = $jQ.getQueryString({ ID: searchEngines[i].query,             URL: refer, DefaultValue: "" });           break;         }         i++;       }          // If no search engine is found, this person probably used a less          // popular one.  Use the referring doman, then guess the query parameter       if (i == searchEngines.length) {         searchEngine = referrerDomain;         var queries = ["q","p","query"];          var i = 0;          while ((i < queries.length) && (searchString == undefined)) {            searchString = $jQ.getQueryString({ ID: queries[i], URL: refer });            i++;          }           // no search strings found -- use this text instead.          if (searchString == undefined) {            searchString = "None";          }       }         // Use the provided URL parameter to get the PPC keyword.       var payPerClickWord = $jQ.getQueryString({ID: payPerClickParameter,         URL: refer, DefaultValue: "" });         // Put the info into cookies.  These values will be extracted          // and put into a Marketo form later.  Expires in 2 years.       $jQ.cookie('mktoPPCKeyword', payPerClickWord,          {expires: 730, path: '\/', domain: cookieDomain});       $jQ.cookie('mktoSearchEngine', searchEngine,          {expires: 730, path: '\/', domain: cookieDomain});       $jQ.cookie('mktoSearchString', searchString,          {expires: 730, path: '\/', domain: cookieDomain});     }   }     // Get the values from the cookies and put them into the hidden fields   $jQ(searchStringField).attr("value",$jQ.cookie('mktoSearchString'));   $jQ(searchEngineField).attr("value",$jQ.cookie('mktoSearchEngine'));   $jQ(payPerClickKeywordField).attr("value",$jQ.cookie('mktoPPCKeyword'));});</script> 4. Add cookie code on your website (Optional) To close the loop on capturing the keyword, search engine, and PPC, you need to add Javascript to your website similar to that above.  This code will store that informaiton in cookies, then those cookies will be read when the user submits the form (with the javascript above on your landing pages).This Javascript uses the jQuery, jQuery Cookies plugin, and jQueryString plugin scripts.  Deploy them on your site and note the URL where they're hosted.You'll also need to edit all of your web pages, similar to when you installed Munchkin tracking.  You can put the Javascript in the same spot of the webpage.In the code below, change the Javascript src URLs to match where you installed jQuery and the plugins excludedReferrers variable as you did in the Javascript above cookieDomain variable to be "yourcompany.com" as you did above payPerClickParamater variable as you did above <script src="/js/jquery-latest.min.js" type="text/javascript"></script> <script src="/js/jquery.cookie.js" type="text/javascript"></script> <script src="/js/jQueryString-2.0.2-Min.js" type="text/javascript"></script> <script type="text/javascript"> var $jQ = jQuery.noConflict(); $jQ(document).ready(function(){    // CHANGE THESE Change this to match domains of referrers you want to ignore. You'll want to ignore referrers from your own domains. Use only the base domain name without subdomains (ex. "company.com") Separate multiple domains with commas (leave the brackets).   var excludedReferrers = [ "yourcompany.com", "yourcompany2.com" ];     // Change this to match the base domain of your company's landing pages.     // Cookies will be created with this domain.     // Ex. If your landing page domain is "pages.yourcompany.com" then use     //     "yourcompany.com"   var cookieDomain = "yourcompany.com";     // The URL parameter that has your pay-per-click info.     // Typically "kw" or "keyword" (depends on how you set up your PPC URLs)   var payPerClickParameter = "keyword";    // You probably shouldn't change anything after this    //   var refer = document.referrer;   var searchString;   var searchEngine;       // if there's no referrer, do nothing   if ( (refer == undefined) || (refer == "") ) {       ;   } else {        // get the domain of the referring website -- http://[[this-thing.com]]/     var referrerDomain =         refer.substr(refer.indexOf("\/\/") + 2,           refer.indexOf("\/",8) - refer.indexOf("\/\/") - 2).toLowerCase();     var excludedDomainFound = false;     var i = 0;       // search the excluded domain list to see if the referrer domain is on it     while ( (i < excludedReferrers.length) && !excludedDomainFound) {       var thisExcludedDomain = excludedReferrers[i].toLowerCase();          // weird semantics here -- indexOf returns "-1" if the search string isnt found.          // thus excludedDomainFound is true only when indexOf matches an excluded domain (!= -1)       excludedDomainFound = (referrerDomain.indexOf(thisExcludedDomain) != -1);       i++;     }      // only if the referrer isn't in our excluded domain list...     if( !excludedDomainFound ) {        // extract the URL parameters from common search engines        // To add your own, each engine needs a:        //  name: how the search engine will appear on your Marketo leads        //  url: REGEX for matching the engine's referrer.  ex.  /\.google\./i        //  query: URL parameter that contains the search query - usually "p" or "q"       var searchEngines = [        { name: "Yahoo", url: /\.yahoo\.co/i, query: "p" },        { name: "Google", url: /\.google\./i, query: "q" },        { name: "Microsoft Live", url: /\.live\.com/i, query: "q" },        { name: "MSN Search", url: /search\.msn\./i, query: "q" },        { name: "AOL", url: /\.aol\./i, query: "query" },        { name: "Bing", url: /\.bing\.com/i, query: "q" },        { name: "Ask", url: /\.ask\.com/i, query: "q" }       ];         // find the referring search engine (if any)       i = 0;       while (i < searchEngines.length) {         if (refer.match(searchEngines[i].url)) {           searchEngine = searchEngines[i].name;           searchString = $jQ.getQueryString({ ID: searchEngines[i].query,             URL: refer, DefaultValue: "" });           break;         }         i++;       }         // If no search engine is found, this person probably used a less         // popular one.  Use the referring doman, then guess the query parameter       if (i == searchEngines.length) {          searchEngine = referrerDomain;          var queries = ["q","p","query"];          var i = 0;          while ((i < queries.length) && (searchString == undefined)) {            searchString = $jQ.getQueryString({ ID: queries[i], URL: refer });            i++;          }           // no search strings found -- use this text instead.          if (searchString == undefined) {            searchString = "None";          }       }         // Use the provided URL parameter to get the PPC keyword.       var payPerClickWord =         $jQ.getQueryString({ID: payPerClickParameter,            URL: refer, DefaultValue: "" });          // Put the info into cookies.  These values will be extracted          // and put into a Marketo form later. Expires in 2 years.       $jQ.cookie('mktoPPCKeyword', payPerClickWord,          {expires: 730, path: '\/', domain: cookieDomain});       $jQ.cookie('mktoSearchEngine', searchEngine,          {expires: 730, path: '\/', domain: cookieDomain});       $jQ.cookie('mktoSearchString', searchString,          {expires: 730, path: '\/', domain: cookieDomain});     }   } }); </script>
View full article
Is this article helpful ? YesNo
View full article
What is Marketo’s Marketing Calendar? What are its benefits? What features does Marketing Calendar include? Is it free or do I need to pay for it? How do I get or buy Marketing Calendar? As of our August release: 1 week after our August release How do I know if Marketing Calendar has been turned on? What is the Program Schedule View? Will I need a services package to implement Marketing Calendar? Is this article helpful ? YesNo
View full article
The Google Apps antispam system uses a unique means of whitelisting. Customers on shared IPs should whitelist Marketo's entire sending ranges, because we sometimes need to move customers between IPs for technical reasons. The way to whitelist a range in Google Apps is to configure a manual IP block with a pass through. G Suite enables you to specify an IP address or range of addresses within a domain, and allow messages from those addresses only. This feature is sometimes referred to as IP lock. In G Suite, you set up this feature in the Content compliance setting. IP lock is a method that readily enables an administrator to simultaneously whitelist all incoming traffic from a particular domain while equally preventing spoofing by manually defining the allowed IP ranges. The following instructions are particularly useful with domains that do not have an SPF record and/or use third party applications to legitimately spoof their address. Setting up IP lock with the Content compliance setting includes three separate procedures: Adding the domain, defining the allowed IP range, and setting the correct disposition and NDR. See this page of Google documentation for more information: Enforce 'IP lock' in G Suite - G Suite Administrator Help Instead of using a CIDR range, this interface asks for the first and last IPs in the given range. Here are ours: 199.15.212.0 - 199.15.212.255 199.15.213.0 - 199.15.213.255 199.15.214.0 - 199.15.214.255 199.15.215.0 - 199.15.215.255 192.28.146.0 - 192.28.146.255 192.28.147.0 - 192.28.147.255 94.236.119.0 - 94.236.119.63 185.28.196.0 - 185.28.196.255 103.237.104.0 - 103.237.104.255 103.237.105.0 - 103.237.105.255 130.248.172.0 -  130.248.172.255 130.248.173.0 -  130.248.173.255 Is this article helpful ? YesNo
View full article