Hi
I am looking for any alternates to Custom Fields in Marketo. The reason being, I do not want to add custom fields for every Department's Marketo Forms.
We are running Marketo instance in the University and some of the Departments are running Marketo Forms/Google Forms to capture data from Students and want to leverage that data in Marketo for sending notifications/communications/newsletter.
These are not standard data and specific to the Department. Creating a Custom field for each of these departments does not seem to be a good solution, as there are 20-40 dept's each requiring 10 fields and it will be too many on the lead data, which may be of limited use.
What is the best way to store this kind of form data on the lead record? Custom objects or Program Member data or something else?
Best practices followed by people will be very helpful for us to move forward.
thanks
-Sree
SJSU
Solved! Go to Solution.
As Darshil mentions, COs are not a full solution if you need 40 depts x 10 fields = 400 fields.
You'd still end up having multipurpose fields, typically implemented as <attribute>:<value> (i.e. color:orange) or for greater portability a standard JSON object ({"color":"orange"}).
You can create a single custom text field to store the form data of all the form submits in a properly formatted way (JSON, CSV, etc.). Since you have a different set of fields for each department, creating a custom object may not be the best idea as you're limited to 50 fields in total. You could coalesce data into JSON and store it in a single field for a person in a CO record, similar to how you would in a custom person field. I wouldn’t recommend going with PMCF as you'd need your assets (email, etc.) to be housed in a program to reference data as they don't work on the design studio assets. Also, do you expect people to fill in the same form multiple times? If so, then it would be a task to update the existing coalesced data in the custom person field, it'd be rather easier to update the custom object record (again, you can have a CO field for storing each dept form data in coalesced format).
Appreciate your response.
Do you haver an example script or some suggestions about creating that JSON data from a Marketo Form, which can be saved as One Custom field on a Person attribute.
-Assuming If I go with this approach, how do identify list of users in a Smart list using that Custom field (JSON data) to send notifications
-> How to create a Smart List from this example JSON data for a Referral: Web search
(assuming here is my JSON data)
({
Status: Graduate,
Program of Interest: MBA,
Referral: Web Search,
Contact Type: Email
})
Example Values
Referral (drop-down) |
|
Web Search/Social Media/Outreach |
Program of interest (drop-down) |
|
MBA / MSA/MSF |
thanks for your support
When storing data in the coalesced manner, you should follow a set format for storing data, e.g., you could have something like below:
[{"Status":"Graduate","Program of Interest":"MBA","Referral":"Web Search","Contact Type":"Email"}, {"Status":"Post Graduate","Program of Interest":"Engineering","Referral":"Paid","Contact Type":"Email"}]
//indicative only JSON
You'd want to store data in the form of a JSON array as you're likely accepting and storing multiple form submissions in this field. You could use the contains operator to check whether the custom field contains "Web Search", and if you wish to specifically target people belonging to a particular Program and/or Status and/or Contact Type, you'd need to include the entire JSON-like-format in the contains operator (as other inputs in the array may also have the same Referral value.)
Alternatively, you could also parse the JSON string in the velocity and check whether the person meets the reqd. criteria or not and then introduce a poison pill so the email doesn't get sent out in case the person doesn't meet the required criteria for the email send.
In case a person fills out the same form multiple times, you'd want a proper setup that ideally updates the existing values in the custom person field (storing and overwriting data in a CO field created for each form-data would be more convenient in that case, as mentioned earlier!)
Thank you Darshil,
I am still stuck at Saving this Form data into JSON array. I am using a Marketo Form and how to trigger a On click event to save this data to a Custom field.
Where should I add the script that can gather data from a Form like this?
Ideally, you need a service/agent/way that could append the data collected from the external forms to your Person field. One way is to have an auxiliary field that stores the latest submitted form data and a campaign that appends this data to the person field. The latter field will have all the forms' data that a user has submitted. It's up to you how you update the auxiliary field, you could do a simple list import, or alternatively employ a background form submission to write the non-Marketo form data to it via a form post (adding JS isn't possible if the non-Marketo form is hosted on a page that's not being managed/owned by you). Based on how you choose to write data to this field and then read it, you might want to employ the format best suited for you to store multiple form submit data. Also, please see my earlier comment regarding the usage of a custom field vs. a custom object based on your use case. 🙂
As Darshil mentions, COs are not a full solution if you need 40 depts x 10 fields = 400 fields.
You'd still end up having multipurpose fields, typically implemented as <attribute>:<value> (i.e. color:orange) or for greater portability a standard JSON object ({"color":"orange"}).