Improve your content marketing with ERPNext (Intro, Guide and Discussion)

This is an experiment. I am sharing out current status of our “content marketing strategy implementation” in ERPNext publicly with the community. Firstly I will have to document our status either way to onboard our own employees. And secondly I hope, that I can spark some interest in this from the community.

All of you should struggle to some extent with signing up new customers, that are more attractive than your current customers. Marketing is the way to go to attract new and better customers and improve your bottom line. If you think “But I am busy and swamped with work. I don’t need marketing.” Think again:

  • Wouldn’t it be better not to be “busy” all the time?
  • How about earning more money while being calm?

Good customers help you achieve this. Marketing makes sure, that you attract people that really want what you can do best. A better fit of your talents with your customer’s needs systematically improves your chances of earning more.

Your Content Marketing Strategy

I assume, that you have no content marketing strategy. You want one, because it will work for you in a continouse, sustainable and almost automatic way. You invest one time. You harvest for years. Most companies don’t realize the potential of content marketing because the instant effect is close to zero. Nothing happens if you now start your WordPress.com weblog. Or start posting on twitter and facebook. You’ll have zero followers on Instagram and LInkedIn if you start your page today. It looks like an uphill battle to compete with the waves of publications today.

And yet, a content marketing strategy is one of the most promising marketing activities available.

So let’s assume, you’re convinced. You need a content marketing strategy.

ERPNext for the rescue: Organize my marketing assets from planning, creating, approving, publishing and promotion to regular cadence

I will show you, how to create cornerstone content for your SEO strategy as an asset in ERPNext.

satwinder-singh-327978-unsplash

Photo by Satwinder Singh on Unsplash

I will show you how to link new elements to this cornerstone page and how it will go through the assigned workflow. I will show you the forms / DocType that I have created and how I think it should be used.

I will show you the reports that I have right now and the Auto Email Reports that I have configured so far.

This is the video:

Please join the discussion. Are you interested in using this on your own ERPNext instance? Do you want me to work with Frappe on getting this into ERPNext as a standard configuration for new instances? Do you have questions to the way we have implemented this? Or tips?

All of this is free as in beer. I will share the configuration. And I’ll work on making it easy to be adopted by others. Just contact me by answering this thread.

#notetoself Link to this thread: Improve your content marketing with ERPNext (Intro, Guide and Discussion) - User Forum - Frappe Forum

12 Likes

Martin, this is a really good idea and I appreciate that you have, once again, taken a leadership position. We are excited about joining you on this project.

I watched the video and read the Yoast article. Can you also share the DocTypes that you have created? (Did I miss this?) I am anxious to learn how this can help to make the website/ecomm side of ERPNext stronger as well as Projects/Tasks and Workflows.

1 Like

I only included the main one. Is there an easy export format? Do you want screenshots? How do I share this properly?

I was wondering the exact same.

It looks like a bunch of custom Doctypes, and maybe reports being linked together. Is it?

As per my understanding, the most 1-click-ish way to share such a thing would be creating a Frappé App (which has it’s disadvantages like no availability for cloud users without root access to their server on the long run) but for the time being (development phase) it’s a way to go.

Two reasons for this thought:

  1. interested people can easilz get their hands on the functionality by simply installing a Frappé App
  2. Everybody could easily contribute to this if it is an App with a git repository which can receive PR’s

What I can’t really explain is how you practically transform the thing you have at hand into a Frappé App. But I guess others could help on such a practical question.

As this is very generic for all companies that want to employ a content marketing strategy I would want it to be part of core one day if there are enough people interested.

But it’s not ready for this yet. So I would need an easy way to export and import DocType configurations. @Basawaraj_Savalagi Is there a way?

1 Like

Very interesting topic! Thanks for the effort of publishing your work. I hope i’ll see this feature in core soon.

At the bottom right of the Cutomize Form page there are Download and Upload buttons. :wink: The Download button produces a CSV-file of all fields that somebody else could upload into his system.

2 Likes

@rmeyer Okay. So here are some links and screenshots. Is that sufficient for your to reconstruct what I show in the video? I am still working on this, so it’s more of a theoretical question. But having someone to check would be helpful.

  1. DocType Marketing Asset (CSV-Download)
  2. Doctype Marketing Distribution Channel (CSV-Download)
  3. Doctype Marketing Distribution Account (CSV-Download)
  4. Doctype Marketing Tag (CSV-Download)
  5. Doctype Value Chain (CSV-Download)
1 Like

The upload doesn’t work for me. Whenever I hit “Save”, the uploaded fields disappear. :confused:

Maybe @Martin_Seibert can post the output of

https://{your-erp-next.tld}/api/resource/DocType/?filters=[["DocType","name","like","Marketing%"]]&fields="*"

and

https://{your-erp-next.tld}/api/resource/DocType/?filters=[["DocType","name","=","Value Chain"]]&fields="*"

This should give us the DocTypes as JSON which we can then put in a custom “Marketing” app.

1 Like

{“data”:[{“timeline_field”:null,“image_view”:0,“allow_import”:1,“app”:null,“creation”:“2018-11-22 17:15:09.268738”,“search_fields”:null,“track_changes”:1,“modified”:“2018-12-12 20:51:35.588056",“sort_order”:“DESC”,“print_outline”:null,“owner”:"mseibert@seibert-media.net,“editable_grid”:1,“in_create”:0,“read_only”:0,“is_published_field”:null,“document_type”:“”,“hide_heading”:0,“modified_by”:"mseibert@seibert-media.net",“tag_fields”:null,“allow_rename”:1,“_comments”:null,“smallicon”:null,“_last_update”:null,“custom”:1,“max_attachments”:0,“menu_index”:null,“docstatus”:0,“is_submittable”:0,“sort_field”:“modified”,“image_field”:null,“_liked_by”:null,“allow_copy”:0,“engine”:“InnoDB”,“allow_guest_to_view”:0,“istable”:0,“description”:null,“parent”:null,“_assign”:null,“subject”:null,“has_web_view”:0,“show_name_in_global_search”:0,“beta”:0,“read_only_onload”:0,“module”:“CRM”,“autoname”:“field:title”,“issingle”:0,“_user_tags”:null,“icon”:“octicon octicon-heart”,“name”:“Marketing Asset”,“idx”:0,“default_print_format”:null,“hide_toolbar”:0,“colour”:null,“title_field”:null,“restrict_to_domain”:null,“track_seen”:0,“name_case”:“Title Case”,“parenttype”:null,“quick_entry”:0,“parent_node”:null,“route”:null,“parentfield”:null},{“timeline_field”:null,“image_view”:0,“allow_import”:0,“app”:null,“creation”:“2018-11-25 12:15:51.185073”,“search_fields”:null,“track_changes”:1,“modified”:“2018-12-12 10:49:57.251868",“sort_order”:“DESC”,“print_outline”:null,“owner”:"mseibert@seibert-media.net,“editable_grid”:1,“in_create”:0,“read_only”:0,“is_published_field”:null,“document_type”:“”,“hide_heading”:0,“modified_by”:"mseibert@seibert-media.net",“tag_fields”:null,“allow_rename”:0,“_comments”:null,“smallicon”:null,“_last_update”:null,“custom”:1,“max_attachments”:0,“menu_index”:null,“docstatus”:0,“is_submittable”:0,“sort_field”:“modified”,“image_field”:null,“_liked_by”:null,“allow_copy”:0,“engine”:“InnoDB”,“allow_guest_to_view”:0,“istable”:0,“description”:null,“parent”:null,“_assign”:null,“subject”:null,“has_web_view”:0,“show_name_in_global_search”:0,“beta”:0,“read_only_onload”:0,“module”:“CRM”,“autoname”:“field:account_name”,“issingle”:0,“_user_tags”:null,“icon”:null,“name”:“Marketing Distribution Account”,“idx”:0,“default_print_format”:null,“hide_toolbar”:0,“colour”:null,“title_field”:null,“restrict_to_domain”:null,“track_seen”:0,“name_case”:“”,“parenttype”:null,“quick_entry”:1,“parent_node”:null,“route”:null,“parentfield”:null},{“timeline_field”:null,“image_view”:0,“allow_import”:0,“app”:null,“creation”:“2018-11-23 15:54:41.595969”,“search_fields”:null,“track_changes”:1,“modified”:“2018-11-23 16:44:24.867612",“sort_order”:“DESC”,“print_outline”:null,“owner”:"mseibert@seibert-media.net,“editable_grid”:1,“in_create”:0,“read_only”:0,“is_published_field”:null,“document_type”:“”,“hide_heading”:0,“modified_by”:"mseibert@seibert-media.net",“tag_fields”:null,“allow_rename”:0,“_comments”:null,“smallicon”:null,“_last_update”:null,“custom”:1,“max_attachments”:0,“menu_index”:null,“docstatus”:0,“is_submittable”:0,“sort_field”:“modified”,“image_field”:null,“_liked_by”:null,“allow_copy”:0,“engine”:“InnoDB”,“allow_guest_to_view”:0,“istable”:1,“description”:null,“parent”:null,“_assign”:null,“subject”:null,“has_web_view”:0,“show_name_in_global_search”:0,“beta”:0,“read_only_onload”:0,“module”:“CRM”,“autoname”:null,“issingle”:0,“_user_tags”:null,“icon”:null,“name”:“Marketing Asset Value Chain”,“idx”:0,“default_print_format”:null,“hide_toolbar”:0,“colour”:null,“title_field”:null,“restrict_to_domain”:null,“track_seen”:0,“name_case”:“”,“parenttype”:null,“quick_entry”:1,“parent_node”:null,“route”:null,“parentfield”:null},{“timeline_field”:null,“image_view”:0,“allow_import”:0,“app”:null,“creation”:“2018-11-23 15:50:39.019348”,“search_fields”:null,“track_changes”:1,“modified”:“2018-11-23 16:33:23.959535",“sort_order”:“DESC”,“print_outline”:null,“owner”:"mseibert@seibert-media.net,“editable_grid”:1,“in_create”:0,“read_only”:0,“is_published_field”:null,“document_type”:“”,“hide_heading”:0,“modified_by”:"mseibert@seibert-media.net",“tag_fields”:null,“allow_rename”:0,“_comments”:null,“smallicon”:null,“_last_update”:null,“custom”:1,“max_attachments”:0,“menu_index”:null,“docstatus”:0,“is_submittable”:0,“sort_field”:“modified”,“image_field”:null,“_liked_by”:null,“allow_copy”:0,“engine”:“InnoDB”,“allow_guest_to_view”:0,“istable”:1,“description”:null,“parent”:null,“_assign”:null,“subject”:null,“has_web_view”:0,“show_name_in_global_search”:0,“beta”:0,“read_only_onload”:0,“module”:“CRM”,“autoname”:null,“issingle”:0,“_user_tags”:null,“icon”:null,“name”:“Marketing Asset Distribution Channel”,“idx”:0,“default_print_format”:null,“hide_toolbar”:0,“colour”:null,“title_field”:null,“restrict_to_domain”:null,“track_seen”:0,“name_case”:“”,“parenttype”:null,“quick_entry”:1,“parent_node”:null,“route”:null,“parentfield”:null},{“timeline_field”:null,“image_view”:0,“allow_import”:0,“app”:null,“creation”:“2018-11-23 15:43:28.116385”,“search_fields”:null,“track_changes”:1,“modified”:“2018-11-23 16:30:54.037734",“sort_order”:“DESC”,“print_outline”:null,“owner”:"mseibert@seibert-media.net,“editable_grid”:1,“in_create”:0,“read_only”:0,“is_published_field”:null,“document_type”:“”,“hide_heading”:0,“modified_by”:"mseibert@seibert-media.net",“tag_fields”:null,“allow_rename”:0,“_comments”:null,“smallicon”:null,“_last_update”:null,“custom”:1,“max_attachments”:0,“menu_index”:null,“docstatus”:0,“is_submittable”:0,“sort_field”:“modified”,“image_field”:null,“_liked_by”:null,“allow_copy”:0,“engine”:“InnoDB”,“allow_guest_to_view”:0,“istable”:0,“description”:null,“parent”:null,“_assign”:null,“subject”:null,“has_web_view”:0,“show_name_in_global_search”:0,“beta”:0,“read_only_onload”:0,“module”:“CRM”,“autoname”:“field:marketing_channel”,“issingle”:0,“_user_tags”:null,“icon”:null,“name”:“Marketing Distribution Channel”,“idx”:0,“default_print_format”:null,“hide_toolbar”:0,“colour”:null,“title_field”:null,“restrict_to_domain”:null,“track_seen”:0,“name_case”:“”,“parenttype”:null,“quick_entry”:0,“parent_node”:null,“route”:null,“parentfield”:null},{“timeline_field”:null,“image_view”:0,“allow_import”:0,“app”:null,“creation”:“2018-11-22 17:30:34.999734”,“search_fields”:null,“track_changes”:1,“modified”:“2018-11-22 17:30:34.999734",“sort_order”:“DESC”,“print_outline”:null,“owner”:"mseibert@seibert-media.net,“editable_grid”:1,“in_create”:0,“read_only”:0,“is_published_field”:null,“document_type”:“”,“hide_heading”:0,“modified_by”:"mseibert@seibert-media.net",“tag_fields”:null,“allow_rename”:0,“_comments”:null,“smallicon”:null,“_last_update”:null,“custom”:1,“max_attachments”:0,“menu_index”:null,“docstatus”:0,“is_submittable”:0,“sort_field”:“modified”,“image_field”:null,“_liked_by”:null,“allow_copy”:0,“engine”:“InnoDB”,“allow_guest_to_view”:0,“istable”:1,“description”:null,“parent”:null,“_assign”:null,“subject”:null,“has_web_view”:0,“show_name_in_global_search”:0,“beta”:0,“read_only_onload”:0,“module”:“CRM”,“autoname”:null,“issingle”:0,“_user_tags”:null,“icon”:null,“name”:“Marketing Asset SEO Tag”,“idx”:0,“default_print_format”:null,“hide_toolbar”:0,“colour”:null,“title_field”:null,“restrict_to_domain”:null,“track_seen”:0,“name_case”:“”,“parenttype”:null,“quick_entry”:1,“parent_node”:null,“route”:null,“parentfield”:null},{“timeline_field”:null,“image_view”:0,“allow_import”:0,“app”:null,“creation”:“2018-11-22 17:17:33.160018”,“search_fields”:null,“track_changes”:1,“modified”:“2018-11-22 17:26:40.060746",“sort_order”:“DESC”,“print_outline”:null,“owner”:"mseibert@seibert-media.net,“editable_grid”:1,“in_create”:0,“read_only”:0,“is_published_field”:null,“document_type”:“”,“hide_heading”:0,“modified_by”:"mseibert@seibert-media.net",“tag_fields”:null,“allow_rename”:0,“_comments”:null,“smallicon”:null,“_last_update”:null,“custom”:1,“max_attachments”:0,“menu_index”:null,“docstatus”:0,“is_submittable”:0,“sort_field”:“modified”,“image_field”:null,“_liked_by”:null,“allow_copy”:0,“engine”:“InnoDB”,“allow_guest_to_view”:0,“istable”:0,“description”:null,“parent”:null,“_assign”:null,“subject”:null,“has_web_view”:0,“show_name_in_global_search”:0,“beta”:0,“read_only_onload”:0,“module”:“CRM”,“autoname”:“field:tag”,“issingle”:0,“_user_tags”:null,“icon”:null,“name”:“Marketing Tag”,“idx”:0,“default_print_format”:null,“hide_toolbar”:0,“colour”:null,“title_field”:null,“restrict_to_domain”:null,“track_seen”:0,“name_case”:“”,“parenttype”:null,“quick_entry”:1,“parent_node”:null,“route”:null,“parentfield”:null}]}

Yeah. That seems to work. :smiley:

1 Like

Sorry, I didn’t check the output well enough. :see_no_evil: The links I provided above generate a list that contains metadata about the DocTypes but not the individual fields.

What we really need is:

https://{your-erp-next.tld}/api/resource/DocType/Marketing%20Asset
https://{your-erp-next.tld}/api/resource/DocType/Marketing%20Distribution%20Channel
https://{your-erp-next.tld}/api/resource/DocType/Marketing%20Distribution%20Account
https://{your-erp-next.tld}/api/resource/DocType/Marketing%20Tag
https://{your-erp-next.tld}/api/resource/DocType/Value%20Chain

Hope that works :grin:

I see the same behavior. Just wondering whether this may rather be an issue with the upload mechanics in general rather then the specific doctypes/csv files provided?

I tested this with

  1. making a snapshot of my container that runs my ERPNext (v11) instance
  2. adding a custom field in an existing doctype (contract)
  3. saving it
  4. … this works. I can make a new contract with the field added
  5. downloading the contract doctye as csv
  6. restoring the snapshot from #0
  7. logging in again
  8. 'customize from>contract`
  9. uplodading the csv file I created before (which has the new filed)
  10. confirming this with ‘upload’, update, close in the popup which makes the new field appear.
  11. clicking Save on the upper right after the popup window is closed … the custom field disappears which was there a sec ago disappears again. Neither it exists when I say New Contract

what I have not tested whether the database field exists or not yet.

Conclusion: The Upload routine for DocTypes seems to be broken

I think we should leave it as following for now:

  • I am willing to contribute this to the community.
  • This is work in progress.
  • We will find a way to make this available as soon as it is a stable offering. Our team does not yet use the process. I would want that to happen first. Then I’ll be back.
  • I am delighted to see, that there is interest and positive feedback for this. That helps me invest more time in sharing this.

cc @rmeyer

1 Like