ARTICLE
Double the Power: Marketo to Marketo Integration via Zapier
SFDC
MARKETO
MARKETING OPERATIONS

Double the Power: Marketo to Marketo Integration via Zapier

  1. How To: Lead Transfer Across Multiple Marketo Instances
  2. Have Questions? We've Got Answers!

Zap Your Worries Away: Easily Integrate Your Marketo Databases with Zapier

Scope :

Two companies have merged. Let’s call them  Client 1  and  Client 2.  Client 2 ’s Marketo data was integrated with  Client 1’s Marketo. Two hand-raise forms set up on  Client 2 ’s domain were already pushed to  Client 1 ’s Marketo.  

Before the merge was finished, we also wanted to capture submissions from  Client 2’s hand-raise website forms and flow them into their SFDC.  An additional requirement was that all submissions generated using the form on Client 1’s landing pages and a @Client2.com email domain, should also flow into  Client 2’s Marketo.  

The aim of this project was to implement a form and lead routing solution that would allow Client 2 records to be routed to Client 1 and Client 2 Marketo and Salesforce until the websites were merged.  

Sounds tricky, right? See the graphic below, for a better understanding of the requirements:

How To: Lead Transfer Across Multiple Marketo Instances

Process Set-up  

Below is an example of Zapier flow that let us achieve the above, and push records to Client 2’s Marketo as Form Submission activities, with all the data mapped to the correct Person fields.  

Client 1 = Marketo #1

Client 2 =Marketo #2

  1. The trigger that captures webhooks, sent from Marketo #1 instance  
  2. A setup for field value standardization – removing the “”  special characters that broke down the .json structure  
  3. GET query that sends a request for Access Token, which is later stored as Zap token
  4. Paths are set to rigger either Form A or Form B submission– depending on what was the form ID captured in Step 1.  

Take a look at the webhook setup in Marketo #1, used to push data to the Marketo #2:  

  1. A URL generated by Zapier enables capturing the data sent out from Marketo #1:  
  2. FormID  is a static id value, that later helps to identify which form should be submitted in Marketo #2  

In Zapier flow Step 1, we can see all the data sent by Marketo #1:  

Among the captured data, we have noticed that one of the fields contained special characters - “” which later on caused errors in the flow and led to the. json code malfunction.

That’s why the Zapier step which clears extra characters was essential in our setup:  

  1. Input – Field with data to clean  
  2. Find the special character -  “
  3. Replace with an empty value  

Output:  

To transfer all the data to Marketo #2, the next step is to secure permission using Marketo #2's access authorization token.

  1. Using Method GET to request for token access  
  2. Authorization URL with Marketo #2 ClientSecret and ClientID details:

As a response, we receive the authorization token:  

The next step is to determine which form should be submitted in Marketo #2, based on the formID value from flow Step 1, stored as Zapier token:  

Additionally, we create a .json-type input for the form fields when the form submission action is triggered in Marketo #2.  

As you can see, the data collected from Marketo #1 in Zapflow Step 1 is ready to be pushed to the desired form as fields values inMarketo#2:  

Finally, we fill in the required header fields with Authorization token values captured in Step 3:

That’s it!  

Don't forget that Zapier's monthly subscription limits how many zaps your account can generate, so make sure to monitor that number each month, especially if you have other Zapier automations enabled!

Have Questions? We've Got Answers!

We would be happy to assist you with preparing similar set-ups. Feel free to reach out to us!

CASE 3 – Level: Intermediate – Identifying web page source from Eloqua form submissions

The Topliners query was about the possible ways to identify the web page from which an Eloqua form submission is happening.

Prompt: I have an Eloqua form which is being used across multiple sites. What are the possible ways to identify the web page from which the Eloqua form submission is happening?

ChatGPT: There are a few ways to identify the web page from which the Eloqua form submission is happening:

1. Referrer URL: When a user submits an Eloqua form, the referrer URL is sent along with the form data. The referrer URL is the URL of the page from which the user came to the form. You can capture and analyze the referrer URL to determine the web page from which the form was submitted.

2. Hidden form fields: You can include a hidden form field on the Eloqua form that captures the URL of the web page from which the form was loaded. You can use JavaScript to dynamically populate this hidden field with the URL of the page.

3. Query string parameters: You can add a query string parameter to the URL of the Eloqua form when it is loaded on a web page. This parameter can contain information about the web page, such as the page title or ID. When the form is submitted, the query string parameter will be included in the form data, allowing you to identify the web page.

4. Integration with Google Analytics: If you are using Google Analytics to track web traffic, you can integrate Eloqua with Google Analytics to capture the web page information. When a user submits an Eloqua form, the Google Analytics tracking code can capture the web page data and send it along with the form data to Eloqua.

Prompt: Can you please provide me with an example JavaScript that can be used to populate the hidden field with the URL when the form is loaded on the page?

ChatGPT: Sure, here is an example JavaScript code that you can use to populate a hidden field with the URL of the web page from which the Eloqua form was loaded:

pic

In this example, you would need to add a hidden input field to your Eloqua form with an ID of “hidden-url-field” (or whatever ID you prefer), like so:

pic

When the Eloqua form is loaded on a web page, the JavaScript code will retrieve the URL of the web page using the window.location.href property, find the hidden input field by its ID, and set the value of the hidden field to the URL. When the form is submitted, the value of the hidden field will be included in the form data, allowing you to identify the web page from which the form was submitted.

We were particularly interested in implementing solution #2, which involved using JavaScript to populate a hidden form field with the URL of the web page from which the form was loaded. ChatGPT provided an example JavaScript code which could be used to accomplish this, and we were happy to confirm that the solution worked successfully. Good job ChatGPT!

Our comment: we were very impressed with how ChatGPT handled the query and provided a helpful solution. This is a great example of how AI can be used to provide assistance and solve problems for users in a variety of contexts (particularly technical ones).

Our score: 10 out of 10 (excellent!)

CASE 4 – Level: Intermediate – Exporting Lead Scores for Eloqua Contacts

Prompt: I need to export the lead score for all the contacts that we have in our Eloqua database for further analysis.

ChatGPT: To export lead scores for all contacts in your Eloqua database, you can follow these steps:

1. Log in to your Eloqua account.

2. Click on the “Contacts” tab in the top navigation menu.

3. Click on the “Advanced Search” button on the right-hand side of the page.

4. Set the filter criteria for your search. For example, if you want to export lead scores for all contacts, leave the filter criteria blank.

5. Click on the “Search” button to retrieve the list of contacts.

6. Click on the “Export” button at the bottom of the page.

7. Select the fields you want to export, including the lead score field.

8. Choose the file format for the export (e.g. CSV, XLSX, etc.).

9. Click on the “Export” button to generate the file.

10. Save the file to your computer for further analysis.

Prompt: Regrettably, the Lead Score fields cannot be found in the Contacts Table, making it impossible to incorporate them into the Segment…

In this case, we asked how to export lead scores for all contacts in their Eloqua database for further analysis. The initial response provided by ChatGPT suggested exporting the lead score field, but we corrected our AI partner saying that the lead score field was not available in the Contacts Table.

To solve the issue, ChatGPT suggested exporting related fields and calculating a lead score for each contact using a spreadsheet program. While this solution may not be as accurate as exporting the actual lead score field, it can still provide valuable insights into the engagement levels of contacts.

However, we then asked ChatGPT if it’s possible to use Eloqua Insight to get more in-depth information about lead scoring. ChatGPT correctly suggested using Eloqua Insight to create custom reports and dashboards based on Eloqua data.

More information about how to check the performance of your lead scoring model can be found here:

Our comment: this case exemplifies ChatGPT’s limitations in handling complex requests without sufficient detail or context. It also highlights the significance of complementing AI technology with human expertise to provide the most accurate and relevant answers.

Our score: 3 out of 10 (not particularly helpful)

CASE 5 – Level: Advanced – Extracting Eloqua Campaign Approval History 

In this case, a member of Topliners community asked about a possible workaround for collecting approval history for their clients' internal audits in Eloqua. The user had already investigated the Eloqua Approval tab, Audit Log, and different Analyses in Insight, but couldn’t find a solution.

Prompt: I’ve recently been working with clients who have a requirement on collecting approval history for their internal audit purpose. Currently, users can view the history of all campaign approvals on the homepage screen of Eloqua under the Approval tab but aren’t able to find a report to export this history anywhere. I’ve looked into the Audit Log as well as different Analyses in Insight but couldn’t find a solution. Does anyone have similar experiences and can share possible workarounds for this?

ChatGPT: One possible workaround for this could be to use Eloqua’s API to extract the approval history data and generate a report. The API can be used to fetch the approval history data for specific campaigns, as well as for specific time periods. You can use this data to generate a report in a format that meets your clients’ requirements.

To get started with using the Eloqua API, you can refer to the Eloqua REST API documentation. You’ll need to authenticate your requests using an API key, which you can generate from the Eloqua Administration page.

Once you have authenticated your requests, you can use the GET /assets/email/{id}/approvals endpoint to fetch the approval history for a specific email campaign. You can also use the GET /assets/campaign/{id}/approvals endpoint to fetch the approval history for a specific campaign.

Once you have fetched the approval history data using the API, you can use a scripting language such as Python or a data manipulation tool like Excel or Google Sheets to process the data and generate a report in the desired format. Alternatively, you can consider using a third-party reporting tool that integrates with Eloqua and provides more advanced reporting features than the built-in Eloqua reports. Some examples of such tools include Looker, Domo, and Tableau.

ChatGPT provided some initial solutions to extract approval history data for campaigns in Eloqua, such as using the Eloqua API and the Bulk API. However, when we validated the response against the official documentation, the specific endpoint suggested by ChatGPT for fetching approval history data was not available, neither in REST nor Bulk API. When we suggested using the Eloqua Firehose Service (which is the correct answer to this question) to extract the data, our AI conversation partner did not provide any further guidance on this solution.

Our comment: in this case, expertise of a technical Eloqua consultant (human) was necessary to answer the question as the available Eloqua API documentation did not provide sufficient detail to enable ChatGPT to distinguish between two different status fields. While ChatGPT initially provided some recommendations (irrelevant), it was ultimately the input from a human that helped to identify a suitable solution to the problem.

Our score: 0 out of 10 (misleading/irrelevant)

__________________________________________

AI and Human Expertise for Mastering Eloqua

While the AI assistant provided generally accurate information for common Eloqua questions, the Topliners community contains more specific implementation details and nuances from Eloqua experts and power users. AI can serve as a good starting point, but the forum remains an invaluable resource.

We hope you found this post on ChatGPT and Oracle Eloqua Topliners helpful and informative! At Ivenium Marketing we’re always looking for ways to support Marketing Automation teams, and we believe that ChatGPT (and other generative and transformative AI tools) can be a game-changer when it comes to finding quick, accurate answers to your questions.

We’d love to hear your thoughts on this post and the topics we covered. Did you find ChatGPT’s capabilities impressive? Have you had any experience using ChatGPT or other AI tools in marketing automation?

If you’re interested in exploring this topic more deeply, be sure to check out our upcoming blog posts on AI and its capabilities for the Marketing Automation industry. In our next posts, we’ll continue the interrogation of ChatGPT in various areas of marketing automation: Data Standardization processes, troubleshooting HTML code, fine-tuning Lead Scoring Models and other topics. We’ll cover Oracle Eloqua, Adobe Marketo Engage, Hubspot, Salesforce Marketing Cloud, Adobe Campaign, Salesforce Pardot.

Stay tuned for more content from us!

Keep on

ReadingReading
Get in touch and start growing your startup today
Book a free consultation
Measurable ROI
Black bullet point
Partner-driven
Black bullet point
Strategic Alignment
Black bullet point
Measurable ROI
Black bullet point
Partner-driven
Black bullet point
Strategic Alignment
Black bullet point
Measurable ROI
Black bullet point
Partner-driven
Black bullet point
Strategic Alignment
Black bullet point
Measurable ROI
Black bullet point
Partner-driven
Black bullet point
Strategic Alignment
Black bullet point
Measurable ROI
Black bullet point
Partner-driven
Black bullet point
Strategic Alignment
Black bullet point
Measurable ROI
Black bullet point