Hi community!

 

Our customer wants to import campaigns with participants of an old system to keep that data as history.

I managed to import the campaigns (see Can't import campaigns | Community Creatio), but I can't import the participants.

The import tells me that the field 'current step' is mandatory. Is there any way to work around this or a fixed value that I can use? My problem is that the old campaigns do not have a single step, because they just act like an empty container and the participation should be used as criteria for building marketing segments in the future.

 

Thanks and BR,

Robert

Like 0

Like

2 comments
Best reply

Hello Robert,

 

If possible, I would suggest filling the field of CampaignParticipant table

 

1) The following script will add one empty CampaignItem record (which is current step) for each campaign:

 

Insert into "CampaignItem" ("CampaignId") (select "Id" from "Campaign") 

 

2) Then you can set the name for all those records if you want:

update "CampaignItem" set "Name" = 'test' where "Name" = ''

 

3) The next script will set the CampaignItemId (if it is null) of the CampaignParticipant to any that is available in the corresponding campaign (There will always be at least one since in the first script we added one for each):



update "CampaignParticipant" set "CampaignItemId" = (select "Id" from "CampaignItem" where "CampaignItem"."CampaignId" = "CampaignParticipant"."CampaignId" limit 1) where "CampaignItemId" is null

 

That last script will only modify the participants who do not already have current step specified. 

 

If you know that there are campaign items for each campaign then you can skip the first and second scripts.

 

Hope it helps!

 

Best regards,

Max,

Hello Robert,

 

If possible, I would suggest filling the field of CampaignParticipant table

 

1) The following script will add one empty CampaignItem record (which is current step) for each campaign:

 

Insert into "CampaignItem" ("CampaignId") (select "Id" from "Campaign") 

 

2) Then you can set the name for all those records if you want:

update "CampaignItem" set "Name" = 'test' where "Name" = ''

 

3) The next script will set the CampaignItemId (if it is null) of the CampaignParticipant to any that is available in the corresponding campaign (There will always be at least one since in the first script we added one for each):



update "CampaignParticipant" set "CampaignItemId" = (select "Id" from "CampaignItem" where "CampaignItem"."CampaignId" = "CampaignParticipant"."CampaignId" limit 1) where "CampaignItemId" is null

 

That last script will only modify the participants who do not already have current step specified. 

 

If you know that there are campaign items for each campaign then you can skip the first and second scripts.

 

Hope it helps!

 

Best regards,

Max,

Max,

Hi Max,

 

thanks, that worked like a charm! I executed scripts 1 and 2 and then imported the participants with reference to the newly created step (I have deleted the participant table before to have a fresh start).

 

Many thanks and best regards,

Robert

Show all comments

Hi Community!

 

I tried to import into the campaign table, but it doesn't work as expected.

I can see them in the campaign list, but when I open one of the imported records, the page is messed up (see screenshot 2021-09-17 15_31_03-Window.png).

The dev tools show errors as seen in screenshot Console Errors.png

 

I imported the following columns:

  • Name
  • Status (as finished)
  • Startmode (manual)
  • Endmode (manual)
  • Owner

The import log showed the following error on every row, but the records were created none-the-less:

Row 51: Error reading JObject from JsonReader. Path '', line 0, position 0.

 

Any thoughts on what went wrong and how to import campaigns properly? Am I missing some fields? Do I have to create other records in related tables?

 

Thanks,

Robert

 

Like 0

Like

5 comments
Best reply

So I got this working...kind of.

 

In the table CampaignType, the following two records are stored:

 

235273BB-91CB-47FC-8A34-01F0002E38D4    Campaign

389EB587-52D4-4AB6-B4AD-E7E2F0D62EAC    Campaign (old)

 

The problem is that imported campaigns will default to the wrong TypeId (type "Campaign (old)").

 

However, the Type lookup cannot be selected during the import, so I fixed it by updating the imported records directly via SQL with this simple script:

update Campaign
set TypeId = '235273BB-91CB-47FC-8A34-01F0002E38D4'
where TypeId <> '235273BB-91CB-47FC-8A34-01F0002E38D4'

Hope this helps someone and I also hope Creatio fixed this issue!

 

BR,

Robert

Hello Robert,

 

You can try fixing the campaign schema object bindings by running the following script:

 

update SysModuleEntity

set TypeColumnUId = '876C6749-2C05-4861-856E-EFD51B847904'

where SysEntitySchemaUId = '1F9BB71A-EB9C-4220-A40E-9B623EACFEC8'

 

Hope it helps!

 

Best regards,

Max.

Max,

Hi Max,

 

thanks for the hint! Could you elaborate a little bit on what this script does? It's a production system so I don't want to risk too much ;)

 

Thanks,

Robert

Robert Pordes,

It will set the type for the campaigns section and should not affect the system in any negative way.

 

Best regards,

Max.

Max,

it was already set...any other tips?

Btw, manually created campaigns can be opened normally.

 

BR,

Robert

So I got this working...kind of.

 

In the table CampaignType, the following two records are stored:

 

235273BB-91CB-47FC-8A34-01F0002E38D4    Campaign

389EB587-52D4-4AB6-B4AD-E7E2F0D62EAC    Campaign (old)

 

The problem is that imported campaigns will default to the wrong TypeId (type "Campaign (old)").

 

However, the Type lookup cannot be selected during the import, so I fixed it by updating the imported records directly via SQL with this simple script:

update Campaign
set TypeId = '235273BB-91CB-47FC-8A34-01F0002E38D4'
where TypeId <> '235273BB-91CB-47FC-8A34-01F0002E38D4'

Hope this helps someone and I also hope Creatio fixed this issue!

 

BR,

Robert

Show all comments

Hi community,

 

I must move the marketing campaigns from one package to another. The versions of my customer's CRM is the 7.17.0 and they don't have this "move to another package" option, released after the 7.17.0 update. 

 

I tried to "Export" the element and then reimport it in the apposite package but it doesn't work because it imports it in the same package even if I select the new package and I change the current package in the system settings.

 

How can I achieve this without doing the update to the newest release ? I can't do it right now for a customer's point of view but I need to export some marketing campaigns from the current package to the custom package.

 

I'm almost sure that there is a command from the clio console but how can I find which element is the marketing campaign I want to move in my packages. Should I move only one element or are there other elements directly related to this marketing campaign ? Could you help me to try to find this out ? 

 

Thanks a lot !

 

7.18.3

 

7.17.0

 

 

Like 0

Like

1 comments

Dear Jonathan,

 

As for now, there is no such OOTB functionality that will allow transferring marketing campaigns from one instance to another fully due to the way campaign elements are connected. You can try to bind them to the package but we cannot guarantee that campaign will work after transfer so we do not recommend doing it.

 

This is happening due to the fact that each system generates its own ID values for communication between campaign elements. So during migration to a new system, due to the uniqueness of these links for each campaign, conflicts arise due to which the campaign functionality can start working not properly after the migration (like in cases when the campaign contains additional elements).  On another hand, after transferring the campaign schema, you can perform correct data binding using SQL scripts. However, this is very detailed work, so the best option would be to re-create the campaign scheme in a new environment.

 

Our R&D team responsible for this functionality is already working on implementing this functionality in future releases. I will forward your case to the team in order to increase the importance of this functionality.

 

Best regards,

Roman

Show all comments