Hi everyone and welcome to another video on Adobe Campaign with me, David Hoye. Today I’m going to be talking about how you can extend the Adobe Campaign data model, the benefits of doing so and share some tips and recommendations for when you’re carrying out this type of task.
So, just to get started, both Adobe Campaign standard and Adobe Campaign classic come with out of the box data models, which allow you to store the most common customer data. However, a common data model is never really going to work across the board for all businesses. This is where you can extend the Adobe Campaign data model to meet your bespoke needs.
This could be extending the recipient table which holds customer level information and you can extend that with additional attributes that are relevant to your business. It could also be storing linked data to your customers to give an enriched view – so for example order data, transactional data, or information about your customers interactions both on the web or offline.
In addition to that, you can also bring in business data, such as product data or stores data – that can help you to personalise communications with this type of information.
The way in which you actually create these extended tables within Adobe Campaign differs between Campaign Classic and Campaign Standard.
In Classic you describe the new attributes and tables you wish to create by creating schemas and schema extensions – and that’s done using XML whilst in Campaign Standard, the custom resources are created through a front end UI and it allows you to create these new attributes and tables (as well as screen definitions) all though point and click interfaces rather than doing it in XML.
So, lets just talk about the benefits of extending the data model. Ultimately, it’s bringing more data into the application which your campaign users can then use and it gives them a much better view of your customers data all within the UI (user interface), which in turn should allow them to improve the targeting and segmentation as part of their campaign. It should also allow for greater personalisation and relevancy of the comms your customers receive and give some opportunities for some campaign production efficiencies. Ultimately extending the data model gives your campaign users more data and possibilities at their fingertips and should allow them to make better decisions and ultimately send more timely content to your customers.
So, now I’ll just talk through some tips to bear in mind when looking to extend the Adobe Campaign data model.
Firstly, I would recommend that you design up front. It’s very easy to go ahead and start adding tables and attributes to the data model but I’d certainly recommend taking some time before just jumping straight in, so that you can think about what data you actually need, how it’s going to be used, the relationships between the different data you use that you’re looking to extend. Doing that upfront can certainly save time in development and avoid the need for rework.
Don’t look to bring in all the data you have at your fingertips within your business. You only really should be looking to be bringing in data that you need for campaign execution. Certainly try and think along the lines of data mart, not data warehouse.
When you’re creating the attributes within the tables, make sure that you’re using the appropriate data types. Don’t make every field a string – if it’s more relevant to make them booleans, dates or integers, then do so. That can bring benefits not only from an efficiency point of view but from a usability point of view within the UI also.
Try to make sure that your tables aren’t too wide, only bring in attributes to your tables that are going to be used. A good rule of thumb is to try and keep tables around the 40 columns mark or narrower. Narrow tables tend to be more efficient.
If you can, summarise large data sets. So rather than having lots of raw data in linked tables, if you’re able to aggregate some of that data and roll it up potentially into the recipient and profile tables that can help in two fold. It removes a lot of heavy lifting from campaign and makes those attributes easier for the Adobe Campaign user in the UI.
Don’t forget about primary keys and indexes. You could try and add indexes to any columns that have a vast array of unique values and also try and think about what columns are commonly used for querying and data reconciliation activities. Adding indexes when the tables are created rather than down the line can save a lot of time for those tasks and when rolling out.
You should consider how the database will be updated, not only from a practical point of view. Databases can be updated nightly through workflow data uploads, ad-hoc data imports, through the UI or from external processes through the API. So, it’s important that you consider how this data is going to be used in a practical sense and the way that data is being updated, does it meet those needs, is it being updated frequently enough? They also have some considerations around performance as well so try and make sure that, for example, you’re doing mass database updates overnight that you’re doing it at a time that there’s not a lot of campaign production execution going on.
I’d recommend that you keep an eye on log growth and have relevant processes in place to manage that, think about data retention, purging and archiving so that the database doesn’t get out of control and remains efficient.
And finally, I recommend that you minimize the size of daily updates, as touched upon earlier, if possible, look to only be getting delta changes, only records that have changed since the day before for example. This is obviously much more efficient then updating every single record across the board.
Hopefully, that’s given you a bit of a flavour for how Abode Campaign data model can be extended, the benefits of doing so and some tips to help you along the way. There’s lots of articles on this subject on the official Adobe documentation for both Campaign Standard and Campaign Classic, but if you’d like some support in this area or anything else Campaign related, please do get in touch: firstname.lastname@example.org.
Thanks for listening.