I understand Marketo doesn't have lookup tables, but we can create a smart campaign to do a replace value.The problem is that currently I have ~300 values, and that list may grow. Also if we can figure out a way to do lookups, there are cases where we would use this for much larger data sets.
Sanford Whiteman had posted a blog post related to a similar case I had, but being that I'm not a developer, I am not sure if this can be used to replace an existing value field or if no match in column A, simply ignore.
The value I want to replace is a UTM Campaign that is brought in from our web visits, the problem is that in the past those UTM Campaign values were not standardized, so we have all sorts of values coming in that we would like standardized.
I've created the translator values in an excel table, but wanted to avoid creating 300+ rules in Marketo smart campaigns if this could be done another way.
I see ideas for lookups in the community for this, but apparently they didn't get enough votes. We did functions like this with our previous Automation tool and I could benefit tremendously if we could run data transformation tables in Marketo.
Here is an example of the data:
Campaign Name received from the form [value we get from the web visit] | Value we would like stored on the record |
17janc_fr_sc_dm_better_together_wms_supply_chain_mag | 17-01-emea-fr-supplychain-dm-better-together-wms-supply-chain-mag |
17-dec_emea_tms_logisticsmagazine_ads | 17-01-emea-uk-transportation-logisticsmagazine-ads |
17jan_us_sc_cm_mcleod_lme_carrier_perspectives_whitepaper | 17-01-noam-us-supplychain-cm-mcleod-lme-carrier-perspectives-whitepaper |
Any thoughts or help would be great.
Thank you-
m.
If you feel like trying a new method, I'm working on a blog post about a new take and you can help me QA if you want. Send me a message.
P.S. Don't know which of my older posts you meant because it looks like you linked to the blog homepage.
A simple php webhook solution
<?php
$utm_campaign = $_POST['utm_campaign'];
$data=[
"utm_campaign1"=>"utm_campaign_actual1",
"utm_campaign2"=>"utm_campaign_actual2",
"utm_campaign3"=>"utm_campaign_actual3",
"utm_campaign4"=>"utm_campaign_actual4",
"utm_campaign5"=>"utm_campaign_actual5"
];
if(isset($data[$utm_campaign])){
$response = ["utm_campaign"=>$data[$utm_campaign]];
echo json_encode($response);
}
?>
Wait a few days and you'll be able to do this without maintaining a whole separate server...
Sanford Whiteman - Sorry to resurrect an old post, did you end up finishing your blog post related to this topic? Interested to see what you came up with.
Hi Sanford,
I was scouring the blog-o-sphere for ideas on alternatives for Marketo Lookup tables and saw this entry.
(From https://nation.marketo.com/t5/Product-Discussions/Lookup-tables/td-p/209610)
I am curious if there was any followup to your comment below. (hopefully some type of quick and transparent magic to creating an external lookup).
thanks!
We use a webhook to Workato (where lookup tables are supported) to accomplish this. We send the value in the webhook, it matches it in a lookup table, and then sends a value back to Marketo via REST API. The lookup table can be updated via a simple CSV import. It is a custom process but I'd be happy to explain how we do it if you're interested in that route. We were already using Workato for other custom services and integrations, so it was 0 extra cost to do.
Via REST API? That sounds crazy. DoS waiting to happen for any batch that's larger than your number of daily API calls (not even touching the other integrations).
Shouldn't ever need to loop back over REST when using a webhook. The Webhook API is designed to write data back to the lead directly.
Sanford we only use it for triggers, not batch processes, so the API limit isn't a problem. The same webhook actually runs a variety of logic at the same time, so it needs a little time to process before writing into the Marketo DB. For example it also does some simple math-related tasks that can't be done in Marketo, like marking as junk if First Name = Last Name, etc.
we only use it for triggers, not batch processes, so the API limit isn't a problem.
But are the triggers themselves forcibly capped at a certain number of calls per day?
Either way, it's not the way one should use webhooks unless there's truly no alternative. The goal w/webhooks is that data updates on the host result from a single request/response. There are so many easier ways to do what you're doing that don't require any loopback connections.
For example it also does some simple math-related tasks that can't be done in Marketo, like marking as junk if First Name = Last Name, etc.
Surely that takes < 1μs to process on the server.