Personalising Delivery with Custom Schema Data
Hi there,
I am building a solution whereby I have built a custom schema which will be populated with data that will act as content for an email newsletter (many fields to help populate various text and images placeholders in the HTML email in a delivery - the marketer will upload a csv file to populate the schema)
The custom schema is joined to the nms:delivery schema on a 1-n cardinality (1 record in the custom schema can have many records in the nms:delivery schema but a delivery can only have 1 corresponding record in the custom schema)
I use the primary key field ‘variationReference’ from the custom schema to join to the nmsDelivery schema (have created a field on the deliveries schema with the same name/type to act as foreign key).
The marketer will then upload a record to the custom schema and set the appropriate ‘variationRef’ on the delivery.
There will then be a reuseable HTML that will be used for any delivery using this process.
It uses the following syntax to populate data from the appropriate row from the custom schema:
<%= message.delivery.customSchemaLinkName.fieldName %>
There are lots of these tags to populate data and also if/else statements to handle nulls etc.
The solution is working as expected, the only challenge I face is around scalability.
When I have tested preparing a delivery to a million recipients, the message preparation part of the analysis takes around an hour?
Is there a better way to design my solution / retrieving the personalisation data from the custom schema. I’m guessing it’s working hard to retrieve data for each recipient when in reality every recipient needs the same content and it’s only one row of data needed to personalise per delivery.
any advice greatly appreciated
thanks
David
