Expand my Community achievements bar.

We are excited to introduce our latest innovation to enhance the Adobe Campaign user experience — the Adobe Campaign v8 Web User Interface!
SOLVED

ACS - Import different database for different countries

Avatar

Level 4

Hi all,

I would like to know if anyone has ever implement a similar procedure to send communications to contacts of different countries.

I explain the case:

Our customer has different database for different countries and he would like to send different comunications for each countries.

I read on the documentation this use case https://helpx.adobe.com/campaign/standard/administration/using/use-case--users-e-security.html and the 4 steps are clear.

After these steps, I have to activate in Custom Resources the option "Add access authorization management fields", publish and create different custom resources for each countries and setting the geographical unit.

So for example, if I have 3 different Field "First Name" (one for UK, one for IT and one for US), when I set Field to update in the action Update data, how can I choose the correct one for the country UK? (I cannot give different names to the same fields)

Once the profiles have been imported, do I have to set something other than the geographical unit in the workflow settings?

Thanks a lot!

Eveline

1 Accepted Solution

Avatar

Correct answer by
Level 10

Now, I show you an example. I'm going to upload a csv file which looks like that:

---

name;firstname;email;country;birthdate

doedoe;johnn;leborgne+2345@adobetest.com;France;19/03/1986

collins;florent;leborgne@adobetest.com;Italy;17/11/1987

---

johnn doedoe will be new in the database so my workflow will create a new profile with the geounit specified in the file.

florent collins already exists in the database but with a different geounit so my workflow will update the geounit.

1. First I load my file (I have it on my local machine so I don't use a transfer file, but your workflow is good until the load file).

1442869_pastedImage_7.png

2. Then, I use a reconciliation activity. I use the "Relations" tab only to tell the system that the data I am importing from the file contains also information related to the geounit resource (using the country column of the file). In this specific example, values of the country column of my file ("France" and "Italy") correspond to the Label field of my geounit resource, so I create the link with @label.

1442867_pastedImage_5.png

1442868_pastedImage_6.png

3. Now, I can add an Update data activity to my workflow. I use the operation "Insert or Update" because in my file I can have either new profiles or existing ones to update.

In the "Identification" tab, I select "Using reconciliation criteria" and keep Profiles as dimension to update. As a reconciliation key, I use the email column of my file and the email field of my database. You may use another key to match your requirements (if you use a specific field or combinations of field to identify unique records).

1442870_pastedImage_9.png

In the "Fields to Update" tab, I use the magic wand. I notice here that the system automatically added a "geounit" field to update, thanks to the link I have created in the "Relations" tab of my reconciliation activity.

I remove the "country" field detected by the magic wand because I have no interest in updating that field, I just want to use the "country" column of the file to udpate the geounit, which is already automatically done by the link I've created and mentioned just before.

1442871_pastedImage_10.png

4. Now I can run my workflow.

1442872_pastedImage_11.png

5. I go to my profiles to check:

I can find my existing profile updated:

1442877_pastedImage_13.png

And my new profile inserted:

1442878_pastedImage_14.png

Geo units have been set to what was defined in the file.

Let me know if you want help on a specific point.

Florent

View solution in original post

11 Replies

Avatar

Level 10

Hi Eveline,

So your fields can have the same Label, but if I'm right they should still have different IDs, right?

For example:

1441252_pastedImage_2.png

If you do that, in the Update Data you should be able to retrieve the correct field by using the ID instead of the Lable of the field. Note that an ID should always be unique.

Florent

Avatar

Level 4

Hi Florent,

yes, the case is what you indicated in the screenshot and and your proposal can be a solution.

I have 3 different file to import for the 3 different countries. Every country doesn't have to see the information of the other country

Could it be a valid solution create a new group of resourches? In this case we would have a group of custom resourches for each country.

Just activate "Add access authorization management fields" to not show Italy custom resourches to other countries?

Thanks,

Eveline

Avatar

Level 10

Hi Eveline,

I'm wondering here if there would'nt be a more relevant solution to this. Who exactly does not have to see information of other countries?

Let's assume you have 3 users in your team (working on Adobe Campaign) - 1 managing each country.

User A needs to see profiles from Italy only.

User B needs to see profiles from UK only.

User C needs to see profiles from US only.

If this is your use case, then the solution is the following:

  • Extend your profile resource only to enable the option "Add access authorization management fields"
  • Create 3 geogrphical units, one for each country.
  • Assign each user (A, B, C) to its geographical unit by creating security groups for each country.
  • When importing your profiles, since you enabled the option in the profile resource, you can update the geo unit of the profiles you import, so you are able to say that italian profiles belong to the "Italy" geo unit, for example.

With this, each user will only see the profiles corresponding to his geo unit. No need here to have different resources, or different fields.

User A is in the Italy geo unit and he will see only profiles that had their geo unit set to Italy when you imported them.

Etc.

Is this the use case you want to implement?

Florent

Avatar

Level 4

Hi Florent,

yes, use case is what you indicated.

A last question:

when you say "When importing your profiles, since you enabled the option in the profile resource, you can update the geo unit of the profiles you import, so you are able to say that italian profiles belong to the "Italy" geo unit, for example." how can I do to upadate the geo unit?

Must there be a field inside the database (csv) or I can set a default value for each update?

I try to associate in the Update action the column "STATO" (country in italian) to the geo unit field but it generates an error.

Do you have any suggestions?

Thanks a lot,

Eveline

Avatar

Level 10

Hi Eveline,

You can do both:

1. If it's specified in the file, you will need to have an extra 'reconciliation' activity after you load your file, to create the relation between the data you import and the geounit resource. For example I've just tried it like that (where @expr1 is the name of the column in the file that contains the geounit, and @name is the corresponding field in the geounit resource in my test):

1442105_pastedImage_0.png

Then in the update data, I just click the 'magic wand' button and it automatically adds this link in the fields to update.

2. If you want to specify a 'hardcoded' value, i.e. not coming from your file, you can still do it with an enrichment activity where you'd specify the relation and the value to update like that (I used a query in my example because I did not have a file available but that would be the same with a load file activity):

1442109_pastedImage_1.png

The key thing to keep in mind here is that you need to create a link between the incoming data and the geounit resource (you cannot update it directly without relation because it is not a 'simple field' of the profile resource but rather a linked resource).

Let me know if that's clearer to you,

Florent

Avatar

Level 4

Hi Florent,

thanks for the answer.

Sorry but I don't understand the workflow.

Will the workflow become like this?

2018_03_15_10_28_23_Import_1403_GeoUnit_WKF105_.png

In Enrichment activity I set in the tab Advanced Relations a relations like this:

2018_03_15_10_31_26_Import_1403_GeoUnit_WKF105_.png

But in the Update data activity I can't update or insert the profiles that I have load.

Just to make things clear: I want to associate a geographical unit to each profile that I update or insert. When I insert a profile by default his geographical unit is All (all).

I want that the column Geographical Unit is valued with "IT" or "UK" (I have already create this geographical unit in the dedicated section)

2018_03_15_10_39_32_Profiles.png

Eveline

Avatar

Level 10

Hi Eveline,

Yes you seem to be close to what needs to be done. To me, what's missing is a reconciliation activity  just before the enrichment to identify the incoming profiles as profiles.

I will show you a working example. Just to make sure that I show you your exact use case, do you specify the geo unit in the file?

Also, can you show me a screenshot of your "IT" geo unit detail?

Florent

Avatar

Level 4

Hi,

in the file csv there is a column that identified the country and we can use that to identify the value for geographical unit.

Geographical unit settings:

2018_03_15_11_15_28_Geographical_units.png

2018_03_15_11_15_48_Geographical_unit_Italy_GEO2_.png

Avatar

Level 10

Thanks,

First thing I notice here is that in your geo unit, the @name (which corresponds to the field labelled "ID" in the geo unit detail) is GEO2 for Italy. So in your enrichment you'd have to use 'GEO2' in the source field and not 'IT'.

I'm still working on the example to give you

Florent

Avatar

Correct answer by
Level 10

Now, I show you an example. I'm going to upload a csv file which looks like that:

---

name;firstname;email;country;birthdate

doedoe;johnn;leborgne+2345@adobetest.com;France;19/03/1986

collins;florent;leborgne@adobetest.com;Italy;17/11/1987

---

johnn doedoe will be new in the database so my workflow will create a new profile with the geounit specified in the file.

florent collins already exists in the database but with a different geounit so my workflow will update the geounit.

1. First I load my file (I have it on my local machine so I don't use a transfer file, but your workflow is good until the load file).

1442869_pastedImage_7.png

2. Then, I use a reconciliation activity. I use the "Relations" tab only to tell the system that the data I am importing from the file contains also information related to the geounit resource (using the country column of the file). In this specific example, values of the country column of my file ("France" and "Italy") correspond to the Label field of my geounit resource, so I create the link with @label.

1442867_pastedImage_5.png

1442868_pastedImage_6.png

3. Now, I can add an Update data activity to my workflow. I use the operation "Insert or Update" because in my file I can have either new profiles or existing ones to update.

In the "Identification" tab, I select "Using reconciliation criteria" and keep Profiles as dimension to update. As a reconciliation key, I use the email column of my file and the email field of my database. You may use another key to match your requirements (if you use a specific field or combinations of field to identify unique records).

1442870_pastedImage_9.png

In the "Fields to Update" tab, I use the magic wand. I notice here that the system automatically added a "geounit" field to update, thanks to the link I have created in the "Relations" tab of my reconciliation activity.

I remove the "country" field detected by the magic wand because I have no interest in updating that field, I just want to use the "country" column of the file to udpate the geounit, which is already automatically done by the link I've created and mentioned just before.

1442871_pastedImage_10.png

4. Now I can run my workflow.

1442872_pastedImage_11.png

5. I go to my profiles to check:

I can find my existing profile updated:

1442877_pastedImage_13.png

And my new profile inserted:

1442878_pastedImage_14.png

Geo units have been set to what was defined in the file.

Let me know if you want help on a specific point.

Florent