Source types
Entities can be sent using CSV files, the Google Product Search feed format, and Adobe Analytics product classifications.
CSV
You can create a .csv file using the Adobe proprietary CSV upload format. The file contains display information about the reserved and custom attributes for your products. To upload attributes specific to your implementation, replace CustomN
in the header row with the name of the attribute you want to use. In the example below, entity.Custom1
has been replaced by: entity.availability
. You can then bulk upload the file to the Recommendations server.
Using the .csv format has the following advantages over the Google feed format:
- The .csv format doesn’t require field mappings.
- The .csv format supports multi-value attributes (see example below).
- The .csv format supports up to 100 custom attributes. If you need more than 100 custom attributes, you can create a second feed file with a different set of custom attributes specified.
Use the bulk upload method to send display information if you don’t have mboxes on your page, or if you want to supplement your display information with items that are not available on your site. For example, you might want to send inventory information that might not be published on your site.
Any data uploaded using the .csv file, Google Product Feed, or Analytics Product classification feed overwrites the existing entity attribute value in the database. If you send price information via mbox requests and then send different price values in the file, the values in the file overwrite the values set with the mbox request. An exception to this is the categoryId
entity attribute where the category values are appended instead of being overwritten up to the 250-character limit.
For example, the following syntax is incorrect:
"Apples "Bananas" Grapes"",
The following syntax is correct:
"Apples ""Bananas"" Grapes""",
The product is available in the admin interface approximately two hours after successfully uploading its entity.
The following is sample code for a .csv file:
## RECSRecommendations Upload File
## RECS''## RECS'' indicates a Recommendations pre-process header. Please do not remove these lines.
## RECS
## RECSUse this file to upload product display information to Recommendations. Each product has its own row. Each line must contain 19 values and if not all are filled a space should be left.
## RECSThe last 100 columns (entity.custom1 - entity.custom100) are custom. The name 'customN' can be replaced with a custom name such as 'onSale' or 'brand'.
## RECSIf the products already exist in Recommendations then changes uploaded here will override the data in Recommendations. Any new attributes entered here will be added to the product''s entry in Recommendations.
## RECSentity.id,entity.name,entity.categoryId,entity.message,entity.thumbnailUrl,entity.value,entity.pageUrl,entity.inventory,entity.margin,entity.last_updated_by,entity.multi_english,entity.availability,entity.tax_country,entity.tax_region,entity.tax_rate,entity.product_type,entity.item_group_id,entity.color,entity.size,entity.brand,entity.gtin
na3456,RipCurl Watch with Titanium Dial,Watches & Sport,Cutting edge titanium with round case,https://example.com/s7/na3456_Viewer,425,https://example.com/shop/en-us/na3456_RipCurl,24,0.25,csv,"[""New"",""Web"",""Sales"",""[1,2,34,5]""]",in stock,US,CA,9.25,Shop by Category > Watches,dz1,Titanium,44mm,RipCurl,"075380 01050 5"
na3457,RipCurl Watch with Black Dial,Watches & Sport,Cutting edge matte black with round case,https://example.com/s7/na3457_Viewer,275,https://example.com/shop/en-us/na3457_RipCurl,24,0.27,csv,"[""New"",""Web"",""Sales"",""[1,2,34,5]""]",in stock,US,CA,9.25,Shop by Category > Watches,dz1,Black,44mm,RipCurl,"075340 01060 7"
The Google Product Search feed type uses the Google format. This is different from the Adobe proprietary CSV upload format.
If you have an existing Google Product Feed, you can use that as your import file.
Most retailers upload products to Google, so when a visitor uses the Google product search, their products display. Recommendations follows the Google specification exactly for entity feeds. Entity feeds can be sent to Recommendations via .xml, .txt, or .tsv, and can use the attributes defined by Google. The results are searchable on the Google shopping pages.
Because Recommendations users already configure .xml or .txt feeds to send to Google either via URL or FTP, entity feeds accept that product data and use it to build the recommendations catalog. Specify where that feed exists and the recommendations server retrieves the data.
If you use Google Product Search for the entity feed upload, you still must have a product page mbox on the page if you want to show recommendations there or track product views for algorithm delivery based on views.
Google feeds do not support multiple values for a custom attribute.
The feed runs at the time that you save and activate it. It runs at the time that you save the feed, then every day an hour later.
The following is sample code for a Google Product Search feed .xml file:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<feed xmlns="https://www.w3.org/2005/Atom" xmlns:ns2="https://base.google.com/ns/1.0" xmlns:ns3="https://base.google.com/cns/1.0">
<title>Product Feed</title>
<link href="https://example.com"/>
<updated>2017-12-13T08:45:04.918-08:00</updated>
<author>
<name>Product Feed Author</name>
</author>
<id>https://example.com</id>
<entry>
<title>RipCurl Watch with Titanium Dial</title>
<description>Cutting edge Titanium with Round case</description>
<ns2:id>na3452</ns2:id>
<ns2:link>https://example.com/shop/en-us/na3452_RipCurl</ns2:link>
<ns2:availability>in stock</ns2:availability>
<ns2:condition>NEW</ns2:condition>
<ns2:google_product_category>Watches & Sport</ns2:google_product_category>
<ns2:gtin>075380 01050 5</ns2:gtin>
<ns2:image_link>https://example.com/s7/na3452_Viewer</ns2:image_link>
<ns2:mobile_link>https://m.example.com/s7/na3452_Viewer</ns2:mobile_link>
<ns2:mpn>71050</ns2:mpn>
<ns2:price>425</ns2:price>
<ns2:product_review_average>5.0</ns2:product_review_average>
<ns2:product_review_count>30</ns2:product_review_count>
<ns2:product_type>Shop by Category > Watches </ns2:product_type>
<ns2:brand>RipCurl</ns2:brand>
<ns2:sale_price>375</ns2:sale_price>
<ns2:tax>
<ns2:country>US</ns2:country>
<ns2:region>CA</ns2:region>
<ns2:rate>9.25</ns2:rate>
<ns2:tax_ship>y</ns2:tax_ship>
</ns2:tax>
<ns2:is_bundle>N</ns2:is_bundle>
</entry>
<entry>
<title>RipCurl Watch with Black Dial</title>
<description>Cutting edge matte black with Round case</description>
<ns2:id>na3453</ns2:id>
<ns2:link>https://example.com/shop/en-us/na3453_RipCurl</ns2:link>
<ns2:availability>in stock</ns2:availability>
<ns2:condition>NEW</ns2:condition>
<ns2:google_product_category>Watches & Sport</ns2:google_product_category>
<ns2:gtin>075380 013450 5</ns2:gtin>
<ns2:image_link>https://example.com/s7/na3453_Viewer</ns2:image_link>
<ns2:mobile_link>https://m.example.com/s7/na3453_Viewer</ns2:mobile_link>
<ns2:mpn>71050</ns2:mpn>
<ns2:price>275</ns2:price>
<ns2:product_review_average>4.8</ns2:product_review_average>
<ns2:product_review_count>23</ns2:product_review_count>
<ns2:product_type>Shop by Category > Watches </ns2:product_type>
<ns2:brand>RipCurl</ns2:brand>
<ns2:sale_price>249</ns2:sale_price>
<ns2:tax>
<ns2:country>US</ns2:country>
<ns2:region>CA</ns2:region>
<ns2:rate>9.25</ns2:rate>
<ns2:tax_ship>y</ns2:tax_ship>
</ns2:tax>
<ns2:is_bundle>N</ns2:is_bundle>
</entry>
</feed>
The following is sample code for a Google Product Search feed .tsv file:
id title description link price condition availability image_link tax shipping_weight shipping google_product_category product_type item_group_id color size gender age_group pattern brand gtin mpn
na3454 RipCurl Watch with Titanium Dial Cutting edge titanium with round case https://example.com/shop/en-us/na3454_RipCurl 425 new in stock https://example.com/s7/na3452_Viewer US:CA:9.25:y 1.5 oz US:::0.00 USD Watches & Sport Shop by Category > Watches dz1 Black 44mm male adult Solid RipCurl 075380 01050 5 DZ1437
na3455 RipCurl Watch with Black Dial Cutting edge matte black with round case https://example.com/shop/en-us/na3455_RipCurl 275 new in stock https://example.com/s7/na3452_Viewer US:CA:9.25:y 1.5 oz US:::0.00 USD Watches & Sport Shop by Category > Watches dz1 Black 44mm male adult Solid RipCurl 075340 01060 7 DZ1446
Analytics Product Classifications
The Adobe Analytics Product classification is the only classification available for recommendations. For more information about this classification file, see About classifications in the Analytics Components guide. It’s possible that not all the information you need for recommendations is available in your current implementation, so follow this user guide if you want to add to your classifications file.
- Updates to entity attributes incur an additional delay of up to 24 hours.
- Target supports Product Classifications only. The Analytics product SKU must map to the same level as the Recommendations
entity.id
. Custom Analytics Classifications can be engineered using Adobe Consulting Services. Contact your Account Manager with questions.
Create Feed
Create a feed to insert information about your products or services into Recommendations.
-
From within the Target interface, click Recommendations > Feeds > Create Feed.
-
Specify a descriptive name for your feed.
-
Select a Source Type.
- CSV
- Google Product Feed
- Analytics Classifications
For information about the CSV and Google Product Feed feed types, see Feeds Overview. You can also download a model CSV guide to help you format the feed correctly.
-
(Conditional) If you selected CSV or Google Product Feed, specify the location where the feed can be accessed.
-
FTP: If you selected FTP, provide the FTP server information, the login credentials, the filename, and the FTP directory. You can use FTP with SSL (FTPS) for more secure uploads.
Supported FTP server settings:
- FTP and FTPS must be set to use Passive FTP.
- For FTPS, configure the server to accept Explicit FTPS connections.
- SFTP is not supported.
- You can manually specify a port on which to initiate the connection (for example,
ftp://ftp.yoursite.com:2121
). If you do not specify a port, the default FTP or FTPS port is used.
-
URL: If you select URL, specify the URL.
-
-
(Conditional) If you selected Analytics Classifications, choose the report suite from the drop-down list.
-
Click the Next arrow to display the Schedule options.
-
Select an update option:
- Daily
- Weekly
- Every 2 Weeks
- Never: Do not schedule an update. Choose this if you do not want this feed to run.
-
Specify the time that you want your feed to run.
This option is based on the time zone used in your browser. If you want to use a time in a different time zone, you must calculate that time according to your time zone.
-
Click the Next arrow to display the Mapping options, then specify how you want to map your data to Target definitions.
-
(Optional) If you want the feed to belong to an environment (host group), select the host group.
By default the feed belongs to all host groups. This ensures that items in this feed are available in any environment. For more information, see Hosts.
-
Click Save.
After you create or edit a feed, the feed runs immediately. The feed then updates according to the parameters that you set. It takes some time for the information to be available. First, the feed must sync, then it must be processed and indexed before it can be published and made available. The current status appears under Feed Status in the Feeds list. You can close Target before the process is complete and the process continues.
While indexing is in progress, products and feed headers appear before individual values have been indexed. This lets you search and see products so you can create collections, exclusions, designs, and activities before indexing has been completed.
When the Status says “Success,” it means that the file was found and it parsed correctly. The information is not available to use within Recommendations until the file is indexed, which can take some time, depending on the size of your file. If the process fails, it means that the file was not found. For example, you used an incorrect URL or your FTP information was incorrect, or that there was a parsing error.
Feed Statuses and Indicators
Information about the possible feed statuses and their indicators.
Feed Statuses
The following are possible statuses for a feed:
Status | Description |
---|---|
Syncing | Feed setup details are being saved to Target. |
Sync Failed | Feed setup details could not be saved to Target. Try again. |
No Feed Run | You have created a feed but it has not been scheduled (the frequency is set to Never). |
Scheduled at date and time | The feed has not been run, but is scheduled to run at the specified date and time. |
Waiting for Download | Target is preparing to download the feed file. |
Downloading Feed File | Target is downloading the feed file. |
Importing Items | Target is importing items from the feed file. |
Feed Imported Successfully at time |
Target has imported the feed file into its content delivery system. Changes to item attributes have been made in the content delivery system and will soon be reflected in delivered recommendations. If you do not see the expected changes, try again and refresh the page containing recommendations.
|
Failed to Index | The index operation failed. Try again. |
Server Not Found | FTP or URL locations are invalid or otherwise unreachable. |
To update a feed (for example, to make changes to your feed configuration or feed file), open the feed, make any desired changes, and click Save.
Feed Status Indicators
The following feed status indicators display in the Status column:
Status Indicator | Description |
---|---|
Green status indicator | When a feed successfully finishes indexing, a green status dot indicates that the feed is in a successful state. |
Yellow status indicator | When a feed or feed index is delayed by 25% of the feed frequency, a yellow status dot displays. For example, a yellow dot displays for a feed set to run daily if the index hasn’t completed six hours after the scheduled time. Note: Once the feed status is “Waiting for Index Queue,” the newly updated values are available in delivery and criteria processing. |
White status indicator | When a feed is not scheduled, a white status dot indicates that the feed has not run yet. |
Red status indicator | If the feed fails to upload data to the server, a red status indicator is shown. |
Consider the following examples:
Example 1:
- Day one: daily feed processes at 9:00 a.m. PST.
- Day two: it is 3:30 p.m. and the feed hasn’t run since yesterday at 9:00 a.m.
The status should be yellow because the index should have run roughly 6.5 hours ago. 6.5 hours +24 is 127% of the feed window.
Example 2:
- January 1: monthly feed processes at 9:00 a.m. PST.
- February 3: it is 10:00 a.m. and the feed hasn’t run for one month, one day, and one hour ago.
The status should be yellow because the index should have run roughly one day and one hour ago. Although this is only (31+(1/25))/30 = 1.03% of frequency setting, it surpassed the maximum of one-day delay.
More help on this topic
Adobe Target Maturity Webinar Series
Adobe Customer Success Webinars
Tuesday, Feb 4, 4:00 PM UTC
Adobe Target innovations, including GenAI, and best practices on AI-powered personalization and experimentation at scale.
Register