Database Structure & Custom Objects

Anonymous
Not applicable

Database Structure & Custom Objects

Hello,

We're in the process of starting from scratch with a new instance. I'm looking for some guidance on how to set up our database. Here's the scenario:

- No data integration (manual .csv imports for now)

- Multiple products with different data sets (registration and product usage data)

- Customers can trial/purchase multiple products (so, a record can be in multiple product data sets)

- Other data sources (data matching, analytics, etc.)

My thought was to create a custom object for each product and data source. Use the main database a profile data. If we have multiple custom objects, do we need to import a file separately or is there a way to just have one file and map it to each object?

Looking forward to hearing your recommendations.


Cheers,

Sam

Tags (2)
6 REPLIES 6
Grégoire_Miche2
Level 10

Re: Database Structure & Custom Objects

Hi Sam,

My first reaction would be to try to minimize the complexity of the schema and think ahead on what is going to happen in the future if you want to add products or channels. You may end up with a lot of different custom objects. Therefore, I would rather use a schema where information such as product or channels and filed values, not hard written in the custom object name. I would rather create 1 unique custom object with enough fields to handle the various aspects :

  • Product Name
  • Product Status (trial, purchased, ...)
  • Data source

Custom object import has to be done 1 custom object at a time, which also pledges for a single custom object. You also may consider using the API to do the import.

A key questions will be link fields (email or lead ID?) and Unique IDs for your custom object instances.

-Greg

Anonymous
Not applicable

Re: Database Structure & Custom Objects

Hi Greg,

So, we have customers that could be trialing multiple products with the same email address. I'm trying to keep things as simple as possible right now because we don't have must dev support so the plan was to use email as the identifier. The file that I'll be importing has duplicate email addresses. I need to ensure that a customer has data for each of the products. This is what I'm trying to figure out. Any thoughts?

I'd love to do an API but again, limited resources.

Grégoire_Miche2
Level 10

Re: Database Structure & Custom Objects

Hi Sam,

No problem. With a unique custom object, you can handle this. When defining the table, you will need to define a Unique ID (UID) that will enable you to:

  1. Differentiate the records and avoid they merge while you would want to keep them separate
  2. Update them later, for instance when the status will have to be updated

The fact that the file has duplicate email addresses is not important as long as theses lines have different UIDs.

So you need to add a Unique ID to your import file and create this Unique ID in your custom object.

If you cannot use the API, then you will have to keep using imports to add records to the custom object or update them.

-Greg

Josh_Hill13
Level 10 - Champion Alumni

Re: Database Structure & Custom Objects

So one record type, but a Lead could have multiple Product records in this system, right?

Anonymous
Not applicable

Re: Database Structure & Custom Objects

When you define the 'custom object' in Marketo GUI, in addition to the fields you will need for the custom object, you will need to define 2 other fields.

1> A 'Link' field.

This field is the field that connects an custom object to the appropriate Marketo Lead (in your case). For this case, you can choose Email Address. This field determines which lead this custom object record belongs to.

2> A "Dedupe" field

This is the unique identifier that Marketo will use to identify the 'unique' custom object record amongst all the custom record entries for that lead, Thus this field will have 'unique' value for each 'record / row' of the custom object for a particular lead.

Thus you would be able to have one lead having multiple products and so on as long as there is a 'unique' identifier for each 'product owned'. Here is an excellent post from John Mattos, https://nation.marketo.com/blogs/marketowhisperer/2015/09/18/custom-objects-in-marketo-part-4-bulk-u...

Please take a note of

https://nation.marketo.com/servlet/JiveServlet/downloadImage/38-1250-109342/1241-899/4.png while importing

Hope this helps

Rajesh Talele

Kenny_Elkington
Marketo Employee

Re: Database Structure & Custom Objects

You'll need to import custom objects of different types in separate files.  The custom object import feature isn't designed to handle multiple types at once, not to mention that it would be difficult and confusing to make a csv file which represented that.