Custom PDF URLs for each and every user

  • 29 November 2023
  • 3 replies

Badge +1

I run an online store (shopify and connected to Klaviyo) where we create custom e-book based off different customer requirements. 


Once the user places an order we send them a questionnaire (using flow) to fill.


Next, we start working on designing the PDF which usually takes between 4-7 days.


Next flow will trigger once the PDF is ready and 1st email will include a custom PDF (remember each and every will be totally different) download URL based on user, and I do think this will be a manual one (campaign may be).


Currently, what I think of is to send a manual campaign once the PDF is ready.

Next, if possible add a custom property or trigger a property (if possible to auto trigger using the campaign) which would start the flow (flow will check if the user has particular property) for current buyer.


Rest will be some normal flow emails with couple of day delays.


I'm not sure how should I proceed to tackle the situation and would love to hear what you guys might think may be best in current situation.


Also, can we create automated coupons based on when a PDF is sent and which expires within a week?


Best answer by bluesnapper 29 November 2023, 11:47

View original

3 replies

Userlevel 7
Badge +35

Welcome to the community @Tahir 

You can set up a flow to notify customers and let them download the PDF, rather than using a campaign; less time-consuming for you!

Create a flow that triggers on order fulfilment i.e when the PDF is ready for the customer to download, you set ‘fulfill item’ in Shopify.

In that flow, use the customer’s order data to build the url for the PDF download dynamically.

For example, let’s assume you put the finished PDF in a folder on your domain using this structure: /customer-pdfs/[customer email]/[customer order ID]. And that you name your PDFs using the order number e.g #34269.pdf

The url to build that for each customer would be:

https://yourdomain/customer-pdfs/{{ event.extra.contact_email }}/{{ }}.pdf

{{ event.extra.contact_email }} is the customer’s email address

{{ }} is the order ID.

When sent, that dynamic url will build a static url in the email that points to your customer’s PDF. I’ve tested this, and it works.

Yes, it’s possible to send a dynamic, unique coupon to a recipient in the flow above that activates at send-time and expires in 1-week. More information on how to do that is here:

Does that answer your questions?




Badge +1

Thanks @bluesnapper, that's awesome. Exactly what I need.

I'll create a flow which will be triggered once the order is fulfilled and add a URL based on order# i.e. <a href="{{ event.extra.contact_email }}/{{ event.extra.order_number }}.pdf">Download PDF</a>

Userlevel 7
Badge +35

Happy I could help @Tahir 

I hope it all goes well for you!