Datafeedr Factory Documentation

Quick Start Guide

In this section, you will find the quick instructions on how to get your Datafeedr store up and working in just a few minutes.  This is meant for those who are familiar with FTP, permissions, uploading and downloading files, installing WordPress, etc...  If you need more detailed explanations, please see the other sections of the documentation in the sidebar under Datafeedr Plugin, Store Building Guide or The Factory.

See links below for different guides.

WordPress Version

Here is a short guide to help you set up your store on WordPress. For a more detailed version, please follow the links in the sidebar. This guide assumes that you already have a domain name and web hosting and that your DNS settings are properly configured.

  1. Install WordPress
    You can find the WordPress installation guide here: Installing WordPress
  2. Download the Datafeedr Plugin
    Download the Datafeedr plugin here.
  3. Install the Datafeedr Plugin
    Log into your blog's admin area and go to Plugins > Add New > Upload and upload the Datafeedr plugin .zip file: datafeedr_xx_xx_xxxx.zip. After the Datafeedr plugin has been installed, activate the plugin. Detailed instructions are here.
  4. Select Your Merchants
    Log into the Factory and go to Factory > Your Merchants. For each affiliate network listed in the left sidebar that you are a member of, click the network. After selecting a network, you will see a list of all of the merchants from that network that Datafeedr supports. Select (by clicking the merchant's name) each merchant that you have been approved to promote. Do not select merchants that you have not been approved to promote as you will not receive any commissions from sales you refer to those merchants. Detailed instructions are here.
  5. Create a New Store
    From the Factory Menu, choose "Create a New Store". Give your store a name and click "[Create]". Detailed instructions are here.
  6. Configure Basic Store Settings
    From the Store Menu, choose "Basic Store Settings". Add your Domain name (without slashes or www or http). Click [Save]. Detailed instructions are here.
  7. Configure Store Merchants
    From the Store Menu, choose "Store Merchants". Select the merchants that you want to display products from in this store. When you are finished, click [Save]. Detailed instructions are here.
  8. Configure Affiliate IDs & Tracking Parameters
    From the Store Menu, choose "Affiliate IDs & Tracking Parameters". Input your affiliate ID for each network you are promoting products from. If you are unsure how to find your affiliate ID, hover over the question mark icon for instructions. When you are finished, click [Save]. Detailed instructions here.
  9. Create Your Store Categories
    From the Store Menu, choose "Add Category" to create a new category for your store. Add as many categories as you desire. Detailed instructions here.
  10. Add Products to Your Categories
    To add products to a category, click a category name in the left sidebar. Once a category has been selected, click the link "add products to this category" at the top of the page. Perform your product search, click [Find] and when you have the final search set up, click the [Save search] button. Detailed instructions here.
  11. Add Your Connection Key
    Log into your blog's admin area. Go to Tools > Datafeedr. Under the "General" tab, add your Store's conection key to the Connection key field. Your store's connection key can be found in the Factory after selecting a store. Once a store is selected, the connection key will appear in the upper right hand corner. After you have added your connection key, click [Save]. Detailed instructions here.
  12. Import Your Store
    In the Datafeedr section in your blog's admin area, click the [Update Products and Settings] button (either in the top right corner or under the "General" tab). The update may take a few moments so please be patient. Detailed instructions here.

The Plugin (Docs)

The Datafeedr plugin enables you to display your store, that you created in The Factory, on your website.  In the next few sections, we cover downloading, installing and using the Datafeedr plugin.

Download the Plugin

Before you begin, you must download the plugin from Datafeedr.com.  You can download the plugin from the download page.

Installing the Plugin on WordPress

There are 2 methods you can use to install the Datafeedr Plugin. 

The easiest and recommended method is to use the built-in WordPress Admin interface.  This will ensure that the plugin is installed in the correct directory and with the correct permissions. 

The other method of installing the Datafeedr Plugin is uploading the plugin via an FTP program.  This is a more advanced technique and is recommended for users who know what they are doing.

Admin Interface (recommended)

Installing the Datafeedr Plugin using the WordPress Admin interface is the easiest and safest way to do an install.

  1. Log into your WordPress admin area.
  2. Go to Plugins > Add New.
  3. At the top of the page you will see multiple install options.  Click "Upload".
  4. Click the "Browse" button and find the Datafeedr .zip file you downloaded.
  5. Click the "Install Now" button.
  6. After the plugin has been installed successfully, click the "Activate Plugin" link.

The Datafeedr plugin has been successfully installed and activated.  Now you are ready to begin configuring the plugin to get ready to import your store which you created in The Factory.

You can find the plugin configuration page by going to Tools > Datafeedr.

FTP Program (advanced)

Here are instructions on installing the Datafeedr Plugin using FileZilla, the free, open source (GNU/GPL) FTP client for Windows, Mac OS X and GNU/Linux.

  1. Connect to your server using your FTP log in credentials.
  2. Once you are connected, you will have your local files in the left window and your server in the right window.
  3. In the left window, navigate to the directory where the Datafeedr .zip file exists. In the right window, navigate to your site's /wp-content/plugins/ folder.
  4. Unzip the Datafeedr .zip file.
  5. Upload the "datafeedr" folder into the "plugins" directory.
  6. When the upload is complete, you will have a "datafeedr" directory in your "plugins" directory on your server.
  7. Log into your blog's admin area and navigate to the Plugins page.
  8. Click the "Activate" link for the Datafeedr plugin.

The Datafeedr plugin has been successfully installed and activated.  Now you are ready to begin configuring the plugin to get ready to import your store which you created in The Factory.

You can find the plugin configuration page by going to Tools > Datafeedr.

Usage Guide

Below you will find each section of the Datafeedr plugin fully outlined and explained. Each section, and the information in each section, appears in the same order as it appears in the plugin on your website.

General

The "General" page of the Datafeedr Plugin is the most important page within the plugin interface.  From this page, you link your store in The Factory with your website, import your store and update the Datafeedr Plugin.

The following sections outline each configurable field.

Connection Key

The connection key is responsible for linking your website with your store in The Factory.  Without the connection key, you will be unable to do automatic store updates.

Your store's connection key can be found by logging into The Factory and going to the store that you want to link your website with.  Once you've selected the store in The Factory, you will see the connection key in the upper right-hand corner of every page.

Insert the string in to the Connection key field and click "Save".

Quick Update

The "Quick Update" allows you to update your store with one click.

There are 3 requirements in order for this feature to work:

  1. You must have a valid Connection Key saved.
  2. You must also have your website's domain name entered into the "Domain name" under the "Basic store settings" menu in The Factory.
  3. Your server must have cURL installed. Most LAMP server's have cURL installed by default.

There are 2 update methods

  1. [Update Products and Settings]

    When you use this update method, everything from your store in the Factory will be transferred. This includes product & category information, settings, view information and any other configuration or modification you may have made to your store.

    After clicking the [Update Products and Settings] button, please be patient as a full update may take a few minutes.

  2. [Update Settings Only]

    When you use this update method, only your store's settings will be updated. This includes changes you may have made to your store's Basic and Advanced Settings, URL settings, Drip settings, Custom CSS & all Views information.

    This update method does NOT include changes you made to your store's Affiliate ID's and Tracking Parameters, Category information or Product information. If you added products to your store, removed products from your store, edited product information, added or modified category information or made any other change relating directly to a product or a category, those changes will not be reflected on your site after running this update method.

Plugin Upgrade

There are 3 ways to upgrade the Datafeedr plugin when it becomes out of date.  In this section, we cover all 3 methods and the pros and cons of each.

Built-in method

The built-in method of upgrading the Datafeedr plugin is by far the easiest method of updating the Datafeedr software though it does present a security risk.

If your webhost runs PHP as FastCGI or suPHP (that is, apache is running with your credentials) that's fine. You will be able to keep the permissions on the "datafeedr" set to 0755, which is relatively secure.  Otherwise you will need to decide for yourself if you can trade security for usability. We've taken measures to prevent *php files from being run in the plugin directory, but still, a 0777 setup is very insecure.

If you are able to leave the directory CHMOD'd to 0755 or are willing to accept the security risks of having open permissions on the "datafeedr" directory, follow the instructions below.

  1. Log into your server via FTP (Not sure about this?  See this post.)
  2. On your server, navigate to /wp-content/plugins/
  3. You should see the "datafeedr" folder inside the "plugins" folder.  By default, the permissions of the folder will probably be set to 0755.  Right click the "datafeedr" folder and select "File Permissions..." from the menu.
  4. Set the "Numeric Value" field to 777 then click the "OK" button.
  5. Log into your WordPress admin area and go to Tools > Datafeedr.
  6. Scroll down to the "Plugin upgrade" section and click the "Upgrade Plugin" button.
  7. The Datafeedr plugin should now be upgraded to the most recent version.  Now you should return to your FTP client and change the permissions of the "datafeedr" folder back to 755 (or whatever they were before you changed them).

WP interface method

This method is the easiest to use if you are unfamiliar or uncomfortable with using an FTP program.  It also offers a secure installation. 

  1. Log into your blog's admin area.
  2. Deactivate the Datafeedr plugin.
  3. Now that the plugin is deactivated, you should see a red "Delete" link.  Click the "Delete" link for the Datafeedr plugin.
  4. Confirm the deletion of the files by clicking the "Yes, Delete these files" button.
  5. Once the Datafeedr plugin files have been deleted, go to Plugins > Add New and use the "Upload" method. Choose the Datafeedr .zip file that you downloaded from Datafeedr.com.
  6. Click the "Install Now" button.
  7. Activate the plugin after the plugin has been installed.

FTP method

Upgrading the Datafeedr plugin using your FTP client is a more advanced technique that involves file uploading and overwriting.  This method keeps your files and folders secure but can be difficult if you are not familiar with using an FTP program. 

Here's how to upgrade the plugin using your FTP program.

  1. Log into your WordPress admin area and go to Plugins.
  2. Deactivate the Datafeedr plugin.
  3. Log into your server via FTP (Not sure about this?  See this post.)
  4. Navigate to the new plugin folder on your computer and the plugins directory on your server.
  5. Unzip the Datafeedr  .zip file.
  6. Right click the new "datafeedr folder and choose "Upload" from the options.
  7. Because the "datafeedr" folder already exists on your server, you will be shown a dialogue window.  You'll need to overwrite everything in the "datafeedr" folder with the contents of the new folder.
  8. After all files have been uploaded, log into your WordPress admin area and go to Plugins.
  9. Active the Datafeedr plugin.

Directories

This section is responsible for configuring all directory settings for your store.  In order to create store backups, host logos and product images you will need to have the proper directory settings.

Set Up All Directories

By clicking the [Set Up] button, the Datafeedr plugin will attempt to create all of the necessary directories and assign those directories the proper permissions.

In order for the directories to be automatically set up, you must make sure you have configured an "uploads" directory and that it is writable. To learn how to set up this directory, read the WordPress documentation.

After you click the [Set Up] button, the necessary directories will be created.  If they need to be changed, you should change them before reloading any page on your website.

By default, the [Set Up] button will attempt to set up the following directories (assuming that /wp-content/uploads is your "uploads" directory):

  • /wp-content/uploads/store/logos
  • /wp-content/uploads/store/products/images
  • /wp-content/uploads/store/products/thumbnails
  • /wp-content/uploads/store/backups

Merchant Logo Directory

This directory is responsible for hosting merchant logos. Enter the path of the web directory (relative to document root). The directory must be writable for php. While there could be many paths for logos, here are a few examples that could help guide you in this set up.

  • /wp-content/uploads/logos
  • /wp-content/uploads/store/logos
  • /images/merchant-logos/

Note: You will need to make sure that this directory exists on your server and that it is writable by PHP.

To add your own custom merchant logos, simply upload the logo to the directory indicated above and give the logo the name:

MERCHANT_ID.IMAGE_EXTENSION

For example, if the merchant's ID is 123456 and you have a .jpg version of the logo, you would upload the following image:

123456.jpg

If the merchant's ID is 6765 adn you have a .png version of the logo, you would upload the following image:

6765.png

Once a logo exists in the logos directory, it will not be overwritten.  Therefore, if you want to use a different logo than is provided by Datafeedr, you may do so.

Product Images

This directory is responsible for storing locally all product images.  Storing product image files locally is NOT mandatory. Please note that if you have a large store, this directory may become quite large and take up a considerable amount of storage on your server. Leave this field blank if you do not wish to store product images on your server.

If you want to host the product images yourself, go to the Directories section of the Datafeedr plugin and make sure you have the Product Images field set up to accept images. It needs to exist and it needs to be writable (ie. permissions set to 777).  Then click [Update Products and Settings].

If you do not want to host the product images, go to the Directories section of the Datafeedr plugin and delete any paths that exist in the Product Images field and save it so that the field is blank. Then click [Update Products and Settings].

If you are hosting the product images on your server, to take advantage of locally hosted images you should set the following URL Settings for your store (The Factory > Your Store > URL Settings) as such:

Product images:

%li

Product Thumbnails

This directory is responsible for storing locally all product thumbnails.  Storing product thumbnail files locally is NOT mandatory. Please note that if you have a large store, this directory may become quite large and take up a considerable amount of storage on your server. Leave this field blank if you do not wish to store product thumbnails on your server.

If you want to host the product thumbnails yourself, go to the Directories section of the Datafeedr plugin and make sure you have the Product Thumbnails field set up to accept images. It needs to exist and it needs to be writable (ie. permissions set to 777).  Then click [Update Products and Settings].

If you do not want to host the product thumbnails, go to the Directories section of the Datafeedr plugin and delete any paths that exist in the Product Thumbnails field and save it so that the field is blank. Then click [Update Products and Settings].

If you are hosting the product thumbnails on your server, to take advantage of locally hosted thumbnails you should set the following URL Settings for your store (The Factory > Your Store > URL Settings) as such:

Product thumbnail:

%lt

Backup Directory

This directory is responsible for storing your store backups. The directory must be writable for php. Storing your backups within the web root is not a good idea as others will be able to download your store if the directory is known.  Some potential storage paths, depending on your server configurations, could be:

  • /home/username/store-backups
  • /home/username/store/backups
  • /home/username/public_html/backups (note that this will be available to anyone)

Temporary Directory

This directory is responsible for storing the store feed while it is being imported. The plugin will try to guess where your temporary directory is and fill in the proper path. If for some reason your server's path to the temporary directory cannot be automatically deduced, you will have to create a directory in your "home" folder and make it writable (CHMOD 755 or 777, depending on how php is configured on your server). If this directory is located within the web root ("public_html", "www" or similar), you should also add a "Deny from all" .htaccess file to it.

Modifying your Temporary Directory

Occassionally you need to manually configure your Temporary Directory Path. Here's how:


1. Go to WordPress Admin Area > Tools > Datafeedr > Debug > System Information


2. Click the [Show] button.


3. Scroll down through the config settings until your see:

Plugin
----------------


4. Below that you will see the "path: " setting. Copy everything after "path: ".

For example, my config settings look like this:

Plugin
----------------
path: /home/yogabloc/public_html/wp-content/plugins/datafeedr
url: http://yoga-blocks.co/wp-content/plugins/datafeedr/
version: 3.11.5492

I would copy the following:

/home/yogabloc/public_html/wp-content/plugins/datafeedr


5. Now you need to modify the path. You need to:

Replace this:

plugins/datafeedr

With this:

uploads/store/temp

So in my case my new path would look like this:

/home/yogabloc/public_html/wp-content/uploads/store/temp


6. Now we need to paste that new path into the Temporary Directory field. So go here: WordPress Admin Area > Tools > Datafeedr > Directories > Temporary Directory


7. Paste in the new path in to the "Path" field.


8. Check the Create directory if necessary checkbox.


9. Click the [Save] button.


You should now have a green checkmark next to the Temporary Directory Path field. If you do not please open a support thread here: http://www.datafeedr.com/forums/forumdisplay.php?f=68

Updates

If you do not have cURL installed and allow_url_fopen is set to 'false', there are 2 ways you can update your store.  Those methods are covered below.

Upload Store File

If you do not have cURL installed on your server, you will not be able to use the "Quick store update" or the automatic store update features.  You will need to download your store from The Factory and import it using this form.

  1. In The Factory, go to the Store you want to import.
  2. Hover over the "Store" tab at the top and scroll down to Download store > For plugin version 3.x.  This will download a file with a name like "store_xxxx.sql" to your computer's downloads folder.
  3. Go back to Tools > Datafeedr and under "Manual store update", click "Browse" and find the file you just downloaded.
  4. Click "Update".

The update process may take a few minutes depending on how large your store is.  Once the import is complete, you will see a "success" message.

Import File on Server

If you do not have cURL installed and your file is too large to be uploaded using the Upload Store File interface, you can upload your store file to your server via FTP and then type in the path to the file in this field. Once you have done those 2 things, click [Update] and the file will be imported from your server into your database.

Backups

The Backups section of the plugin allows you to create, restore and delete backups of your entire store.

Backup Now

When you click the "Backup" button a new backup of your store will be created on your server in the location that you specified in the Backup directory.  These backups do not backup your WordPress blog posts or pages or comments.  This backup is ONLY responsible for backing up your store as it is when you click the button.

Store Backups

This section gives you an overview of your backups and allows you to see when the backup was created, to restore to a specific backup or delete a backup from your server.  These backups are only store related and contain no information regarding your blog's posts, pages or comments.  Once a backup is deleted, it is gone forever so use with caution.

Drip

The Drip sections controls certain aspects of the drip feature.

Drip Statistics

Drip statistics gives you basic stats on how many products have been dripped to your blog so far and when the last dripped post was made.  Note that the last post date may be different than the most recent dripped post appearing on your blog.  This is because the last post date also takes into consideration any scheduled posts.

Drip Now

Click the "Drip now" button to drip products into your blog manually. You can set how many products should be dripped, the start date and the amount of time between posts.  Here's an example of a manual drip.  This is set to drip 5 products as posts, starting December 25th, 2011 with between 5 and 30 minutes between posts.

Reset Drip

The Datafeedr plugin maintains a table in the database where it stores an entry for each dripped product. The drip function checks against this table to see if the chosen product wasn't dripped already. The "Reset" function deletes this table, and makes it possible to drip an already dripped product again. The Reset button doesn't delete any existing posts.

Tracking

This section is related to tracking your site's visitors as they enter your website and storing an ID related to their activity which you can cross reference with information you can get from the affiliate network if the visitor makes a purchase.

For example:

  1. A visitor clicks a link on a third-party site (ie. Google or another blog) and comes to your website.
  2. The Datafeedr plugin stores a record with information about the visitor such as the referring URL, date and time, IP address and the URL on your website that they first landed on. At this point, a cookie is created on the visitor's browser that uniquely identifies this record.
  3. The visitor browses your website.
  4. When the visitor clicks the "Buy" button for a product, the ID which identifies this visitor is appended to the affiliate link before redirecting the user to the merchant's website.
  5. If the visitor makes a purchase on the merchant's website, the ID that was appended in the previous step will be recorded by the affiliate network along with other information about the sale.
  6. After you get the ID from the affiliate network, you can cross reference that with the ID stored on your website to see how this visitor (who made a purchase) got to your site and what page they landed on.  This will help you see what pages on your website are performing better than others.

Tracking on your website involves two separate processes:

  1. Saving visitor information to the database and creating an identifying referrer ID. (Database Tracking)
  2. Appending outgoing URLs (affiliate links) with the generated referrer ID. (URL rewriting)

Database tracking is done for all products, no matter if a REFERRER_ID is in the affiliate link or not. Database tracking is handled completely on the plugin side and the only way to disable is to turn it off in the plugin admin. URL rewriting will take place as long as the REFERRER_ID constant is set on the "Affiliate IDs & tracking parameters" options in the Factory.

Not all visitors will have a referrer ID.  This can happen if a visitor access your website either through a bookmark or by directly typing in your website's address into their browser.

Each setting related to Tracking is outlined in the following sections.

View Last X Entries

This table displays the most recent referral IDs and relevant information about those referral IDs.

Referrer ID Search

Once a visitor makes a purchase after clicking on an affiliate link on your website, the affiliate network will give you information about the sale such as amount, date, commission, etc... One piece of information that they will provide is the referring ID (though affiliate networks refer to this field by different names).  Once you know the referring ID, you can search for that ID.  This will give you more information about your visitor who made a purchase.

Download Tracking Data

You can download all of your tracking data in Excel or CSV (comma separated values) format for further analysis.

If the date range fields are left blank, all tracking data will be downloaded.

If you want to download tracking data for a specific date range, you can enter a starting and ending date. You need to use the following date format YYYY-MM-DD.

Enable Tracking

If you want to disable any new records from being created when visitors come to your site, uncheck the "Tracking enabled" checkbox.  Note that when you do this, referral information will not be passed to the affiliate network.

News

The News section keeps you up to date on Datafeedr news and announcements.

Recent News & Announcements

This is a news feed from the Datafeedr News & Announcements forum.

Debug

This section allows you to troubleshoot any store issues you might be having.

Debug Log

If you are having problems with your store, click the [Enable] button. This will create a log file for Datafeedr processes which we can use for troubleshooting.  If you are not having any problems with your store, leave this disabled.

Store Update Log

This provides information regarding your store's last update, when it started, when it ended and if auto updates are enabled or not.

Reset Store

This will delete all of the products and categories and settings in your store. After you click this, you will need to run an update in order to get your store back.

Error Codes

Use this to identify and fix the type of error you may be having.

err_amazon

Amazon Webservice returned an error

err_dir_cannot_create

Error creating directory

err_dir_empty

Directory is empty

err_dir_no_access

Access to path or directory denied

err_dir_not_found

Directory not found

err_dir_not_writable

Directory is not writable

err_drip_no_content

Dripping content empty

err_drip_no_products

No products found for dripping

err_drip_now_count

Invalid drip count

err_drip_now_params

Invalid drip parameters

err_drip_reset

Drip reset error

err_fatal_domain_mismatch

The domain name you have entered in the Factory does not match this website's domain name. Please log into the Factory and modify your domain name under your store's 'Basic store settings'

err_fatal_invalid_connection_key

The connection key you have attempted to use is invalid. Please log into the Factory and get the Connection key for your store

err_fatal_invalid_plugin_version

Your plugin version is not supported. Try upgrading the plugin

err_fatal_shop_is_blocked

This store is blocked

err_factory_updating

You will receive this error when an update is attempted while our Factory is updating its product list.  Usually this update only takes a few minutes.  It's best to wait a few minutes and try again.

err_fatal_user_is_blocked

User is blocked

err_fatal_too_big_shop

The store contains too many products

err_fatal_user_not_found

User ID not found

err_general_gzip_missing

Gzip functions not installed

err_general_no_access

You are not allowed to update plugins

err_general_no_conn_key

No connection key entered. Please enter your store's connection key

err_general_shop_empty

Your store is empty

err_http_curl_error

Try this first:

  1. Upgrade the Datafeedr plugin to the newest version (if you are able to).
  2. Go here: WordPress Admin Area > Tools > Datafeedr > Debug.
  3. Scroll to the bottom of the page.
  4. Under "Factory host", replace "factory3.datafeedr.com" with "75.101.166.188" (without the double quotes) then click [Save].
  5. Then click the [Update Products and Settings] button.

Now your store should successfully update.

Still not working?

If you still receive this error after following the steps above, it's probably because your web host is blocking our domain name and IP address. Ask your web host why it's blocking the connection to "factory3.datafeedr.com" and "75.101.166.188" and to unblock us.

err_http_missing

HTTP downloads are disabled on this server

err_http_not_found

URL not found

err_http_server_error

HTTP server error

err_image_invalid

Invalid image format

err_internal

Internal error

err_mysql_no_table

Table does not exist

err_mysql_wrong_db

Invalid database

err_mysql

Mysql error

err_pagecache_drop

Cannot delete page cache

err_path_empty

Path is empty

err_read_bad_header

Try going here WordPress Admin Area > Tools > Datafeedr > Debug > Gzip compression and clicking the [Disable] button.

err_read_bad_version

Invalid download version

err_read_empty

Download is empty

err_read_error

Store data cannot be read

err_read_unreadable

The downloaded file is not readable.

This error is fired when the plugin tries to open the downloaded file it just downloaded (from the Factory) and find that this file does not exist (or otherwise is not readable, e.g. access denied). This can happen when the system-wide temp directory (/tmp) is used and the downloaded file is deleted in the meantime. The resolution is to use a local temp directory (ie. Modify your temporary directory path).

Here is a video outlining how to modify the temporary directory: http://www.datafeedr.com/videos?video=3Wxqt-r4Hlg&src=yt#videotop

err_track_no_data

No data for this date range

err_update_already_running

Update process is already running

err_update_blocked

This error happens when an update fails with a fatal error (e.g. out of memory). To fix, first try reducing the number of packets that are processed per update:

1. Go here: WordPress Admin Area > Tools > Datafeedr > Updates > Packet Sizes
2. Change both fields to: 500
3. Click the [Save] button.

If that does not solve the issue, try these steps: http://www.datafeedr.com/videos?video=3Wxqt-r4Hlg&src=yt#videotop

err_update_error

Update cannot complete

err_update_factory_error

Temporary Factory error, please try again

err_update_lock_failed

Too many concurrent updates running

err_update_mysql_error

Try going here WordPress Admin Area > Tools > Datafeedr > Debug > Gzip compression and disabling Gzip compression.

err_upload_error

Upload error

err_upload_file_empty

Uploaded file is empty

err_upload_file_missing

Uploaded file not found

err_wp

Internal Wordpress error

The Factory (Docs)

The Factory is where you configure the general settings, design, and layout of your store and where you manage your merchant and affiliate network settings.

The Factory documentation is divided into four sections which match The Factory menu navigation:

Factory

The Factory menu is where you can perform Factory-wide actions and configure Factory-wide settings.

The Factory menu covers:

Factory Home

Factory Home is where you can find updates about what's new in the Factory, as well as links to documentation, guides, and tutorials which help you create and maintain your store. A list of all the stores you have created is displayed in the left sidebar.

Your Merchants

Your Merchants is where you configure which merchants you can display on your site.

General information

Before you build a store, you will have to make a general list of your merchants from among the networks you belong to. Put only merchants who have approved your affiliate account into this list, which is aptly called Your Merchants. When building your stores, you will select merchants from Your Merchants, not from the master list of 18 networks and 4000+ merchants. This makes store building easier and more efficient because you add only merchants who have approved your account and you only search for products to display from within this list. You can add or delete merchants at any time.

How to select your merchants

  1. Go to Factory > Your Merchants; you will see Affiliate Networks listed in the left sidebar.
  2. Select a network by clicking on its name; you will then see a list of all of that network's merchants.
  3. Click on the name of a merchant to add it to Your Merchants; repeat as necessary.
  4. Repeat steps 2 and 3 for other networks.
  5. To check your selection, return to Factory > Your Merchants; you will now see a personalized list of your selected merchants grouped by network.

Quick Tip

Click [All] to select all merchants at once; clear your selection by clicking [None]; or [Invert] your selection.

Important

Make sure you understand the affiliate network approval process before selecting merchants. You will not be paid for affiliate sales you generate through merchants which have not approved your account, even though the products will display in your store.

Your Stores

Hovering over the Your Stores link in the Factory menu displays a sub-menu of all the stores you have created, providing a short-cut way of accessing your stores. Note that the Your Stores link is not clickable, so if you have not yet created a store nothing will happen. Start by creating a new store.

Create a New Store

As you have not yet met the maximum number of stores determined by your Datafeedr membership, you will be able to create a new store.

How to create a new store

  1. Go to Factory > Create a New Store this will open a simple dialog box.
  2. Enter the name of your new store in the Store Name field.
  3. Click [Create].
  4. Your store is created and you will be redirected to the Store Home page; follow the basic steps outlined there to configure your store, select merchants, and add your affiliate ID's.

Import Stores From Old Factory

This page lets you import any store you may have created in the Version 1 Factory.  Use with caution as importing a Version 1 store will overwrite a Version 3 store if the same Version 3 store exists.

Merchant & Network Discovery Tool

The Merchant & Network Discovery Tool allows you to search through all merchants and networks in the Datafeedr database using several search options: Keyword, Product name, Product description, Tags, Price range, Images, Similar to, Merchants, and Limit. This is a useful tool if you are not sure which merchants carry the products you want to promote on your site, or if you want to diversify. Go to Factory > Merchant & Network Discovery Tool to begin.

Example

Let's say you want to display vegan shoes in your store. You have been approved by a few merchants which carry vegan shoes, but they don't have very many so you want to find a few more merchants which sell them. By doing a simple keyword search using the Merchant & Network Discovery Tool, you find over 2,200 products. Browsing through the results leads you to several more merchants. You can now consider joining the networks and/or seeking approval from the merchants that carry the products which interest you.

Note

The Merchant & Network Discovery Tool is not used for store building. You cannot add merchants to Your Merchants directly from the search results.

Store

The Store menu is where you can perform Store-wide actions and configure Store-wide settings for each of your stores. In order to use the Store menu options, you must first select one of your stores.

How to use the Store menu

  • Option 1: Go to Factory> Factory Home to see a list of your stores in the left sidebar; select a store by clicking on its name and the Store menu options will be available.
  • Option 2: Hover over Factory > Your Stores; click on a store name in the sub-menu and the Store menu options will be available.

The Store menu covers:

Store Home

Each store you create will have its own Store Home where you can configure Store-wide settings. The Store Home page outlines the directions for setting up your new store. It is also where you can find statistics, add categories to your store, remove categories from your store, and modify the views of content in your store.

Setting up your new store

You will have to go through the basic set up steps for each new store that you create, including: configuring the basic settings, selecting merchants to display, and adding your affiliate IDs. Find more info about each of these steps in the Store documentation menu.

Categories

In the left sidebar you will see two collapsible menu options: [Categories] and [Views]. Click [Categories] to display a full list of the categories which you have added to this store. Click on the [+] sign next to each category to view the sub-categories it contains or [-] to collapse the list. You can select and drag categories and sub-categories to change their order as well as their position in the hierarchy.

Views

Click [Views] in the left sidebar to expand the menu and see a full list of display options that you can configure for your store:

  • Store Front Page
  • Product detail
  • Search page
  • Products by tag
  • Drip template
  • Widgets
  • Custom Views

Show Statistics

You can view a summary of the categories and products you've added to your store by clicking on [Show Statistics]. You will see:

  • Total unique products in store
  • Number of networks in store + product counts
  • Number of merchants in store + product counts
  • Number of categories in store + merchant and product counts

Basic Store Settings

Clicking on Store > Basic Store Settings opens a dialog box where you configure: the configuration key, your domain name, the auto-update interval, and the currency sign you will use on your site.

How to configure basic store settings

  • Configuration key: Copy and paste the connection key from the dialog box into the "Connection key" field in the Datafeedr admin section on your WordPress blog to allow automated updates.
  • Domain name: Enter the name of the domain your store is running on. Omit "http://", "www", "/" or any sub-folder paths from the URL.
  • Auto-update interval: Enter a number (in days) that would you like your store to be automatically update. The default setting is 3 days. Leave this field blank to disable auto-updates. 
  • Currency sign: Enter the currency sign you want to use on your site, such as $ or £.
  • Click [Save] when you are done.

Important

A valid domain name is required to allow Datafeedr to sync with your site. The connection key is required in order for automated updates to function properly.

Store Merchants

Store Merchants is where you configure which merchants to include or exclude from this store. The selection you make here is based on the general list you have already made in Factory > Your Merchants.

General information

You need to select at least 1 merchant before you can begin adding products to your store. After you have added merchants to your store, you will only be searching for products from these merchants.

When selecting products for a particular store, you do not need to include all the merchants you are approved with. It is useful and efficient to limit your searches to only the  most appropriate merchants. For example, if you are setting up a store to sell natural dog food, you would probably select PetSmart as one of this store's merchants, but would probably not select Best Buy.

How to select store merchants

  1. Select one of your stores, then go to Store > Store Merchants; you will see the list of Your Merchants.
  2. Check the box next to the name of the merchants you want to promote in this store. You may have to scroll to see the full list. If needed, you can select [All], [None], or [Invert] your selection.
  3. Click [Save] when you are done.
  4. After saving your selection, you will be redirected to the Store Home page.

Note

You can add or remove merchants from Store Merchants at any time.

Affiliate IDs & Tracking Parameters

In order to earn a commission for a sale you refer, you must insert your affiliate ID's. Referrer ID's are optional.

Below are instructions for finding your affiliate ID for each affiliate network that Datafeedr supports.

AdRecord

Here's how to find your AdRecord affiliate ID:

  1. Login into your AdRecord control panel www.adrecord.com
  2. Click under Ditt Konto on the Kanaler link.
  3. The ID that is assigned to your website is your affiliate ID.

Adtraction

Here's how to find your Adtraction affiliate ID:

  1. Login into your Adtraction control panel www.adtraction.com
  2. Click in left sidebar under "My account" on the "My channels" link.
  3. The ID that is displayed in front of your URL is your affiliate ID.

Affiliate4You

Here's how to find your Affiliate4You affiliate ID:

  1. Login into your Affiliate4You control panel.
  2. Click on "Adverteerders" in the Publisher section in right sidebar.
  3. Click on one of the merchants in the "Adverteerders lijst".
  4. Click on Deeplink Generator. If a merchant does not allow affiliates to deeplink try another merchant from the list.
  5. Click "Genereer deeplink".
  6. The link you see in the "Deeplink code" box is an affiliate link. The value that appears after &web= is your Affiliate4You affiliate ID.

Example:

http://kliks.affiliate4you.nl?adv=8820&web=2547&url=

affiliate ID = 2547 = the value that appears after &web=

Affiliate Window

Here's how to find your Affiliate Window affiliate ID:

Once your application to join Affiliate Window has been accepted you'll receive an email with your affiliate ID.

Affiliator

Here's how to find your Affiliator affiliate ID:

1. Login into your Affiliator control panel www.affiliator.com

WARNING: The Affiliate id number in the header is NOT the ID to use in Datafeedr.

2. In the menu click on Config > Your websites

3. You get an overview of your website(s).

4. The ID that corresponds with your website is the ID to use in Datafeedr.

Affilinet

Here's how to find your Affilinet affiliate ID:

Once your application to join Affilinet has been accepted you will receive an email with a Publisher ID.

The Publisher ID is your Affilinet affiliate ID.

Amazon

First you will need to sign up with the Amazon Product Advertiser API.

Your Amazon affiliate ID is your Amazon Associates ID. This ID ends with the "-20" or "-21". You can find this ID by logging into the Associates Program area and locating your Associates ID at the top of the left sidebar.

Amazon Local

Your Amazon Local affiliate ID is your Amazon Associates ID or any other Amazon Associates tracking ID you've created. 

1. Log into the Associates Program control panel.

2. You can find your Associates ID at the top of the left sidebar OR go to Account Settings > Manage your tracking IDs to select another tracking ID or to create a new one.

Avangate

Here's how to find your Avangate affiliate ID:

Your Avangate affiliate ID is listed in the top-right corner of the Avangate affiliate control panel.

AvantLink

Here's how to find your AvantLink affiliate ID:

  1. Login into your AvantLink control panel www.avantlink.com

    WARNING: The Affiliate ID number in the header is NOT your affiliate ID and will not earn you any commission!!

    This number is simply your Account ID number. Do NOT use this number in Datafeedr. All your affiliate links will be invalid and will not track.

  2. Click on "Account"
  3. Click on "Edit Websites"

  4. The Website ID that corresponds with your website is your AvantLink affiliate ID.

    Note that you can register as many sites as you wish. Each site will get assigned a different unique website ID number.

Belboon

Here's how to find your Belboon affiliate ID:

  1. Login into your Belboon control panel www.belboon.com
  2. Click on "Advertising material search" in the Partner section in left column.
  3. Click on one of the Code links in the overview.
  4. The link you see after <a href=" is your affiliate link. The first 12 characters that appear after adtracking/ in the link is your Belboon affiliate ID.

Example:

http://www1.belboon.de/adtracking/031d63089b3a022c20003e5f.html

affiliate ID = 031d63089b3a = the first 12 characters following adtracking/

BettyMills

Here's how to find your BettyMills affiliate ID:

Your BettyMills affiliate ID is listed in the top-right corner of the BettyMills affiliate control panel.

Clickbank

Here's how to find your Clickbank affiliate ID:

Your Clickbank affiliate ID is the nickname you registered during signup.

ClixGalore

Here's how to find your ClixGalore affiliate ID:

  1. Login into your ClixGalore control panel www.clixgalore.com
  2. Click on"Get Banner Linking Code / Deep Linking" in the left column menu.
  3. Click on one of the View Tracking Code links in the overview.
  4. The link you see after <a href=" is your affiliate link.  The value of the AfID= parameter is your ClixGalore affiliate ID.

Example:

http://www.clixGalore.com/PSale.aspx?BID=33228&AfID=181601&AdID=4685&LP=www.winemakerschoice.com.au

affiliate ID = 181601 = the value of AfID

Commission Factory

Here's how to find your Commission Factory affiliate ID:

  1. Login into your Commission Factory control panel www.commissionfactory.com.au
  2. Your affiliate ID is displayed at the top of the menu on your left-hand side. It's the number between ( ) listed next to your username.

Commission Junction

Here's how to find your Commission Junction affiliate ID:

  1. Login into your Commission Junction control panel www.cj.com

    WARNING: The account number you see at the upper right side of the page is NOT your affiliate ID and will not earn you any commission!! This number is simply your CJ Account ID number.

  2. Click the "Account" tab
  3. Click the "Web Site Settings" tab
  4. Click the "Add A New Web Site" button

  5. Add the details of your new website
  6. Click Save button at the bottom of the window
  7. Once you have registered your site click the "Account" tab
  8. Click the "Web Site Settings" tab
  9. Select your site into the "Select Web Site" dropdown box.
  10. The PID number that is displayed for your site is your Commission Junction affiliate ID.

    Note that you can register as many sites as you wish. Each site will get assigned a different unique PID number.

Daisycon

Here's how to find your Daisycon affiliate ID:

  1. Login into your Daisycon control panel www.daisycon.com
  2. Click on My Media under My Account. You will get an overview of the site(s) you registered.
  3. The Media ID that is displayed in front of your site is your affiliate ID.

DGM

Here's how to find your DGM affiliate ID:

  1. Login into your DGM control panel dgmperformance.com.au
  2. Your DGM affiliate ID is the ID listed between brackets in the right top corner.

 

 

Double.net

Here's how to find your Double.net affiliate ID:

  1. Login into your Double.net control panel www.double.net
  2. Click on Channels in the Channels menu. You will get an overview of the site(s) you registered.
  3. The Channel ID that is displayed in front of your site is your affiliate ID.

FlipKart

Here's how to find your FlipKart affiliate ID:
 
1. Login into your Flipkart affiliate control panel - http://www.flipkart.com/affiliate
 
2. Your Flipkart affiliate ID is listed in the right top corner. See screenshot below.

Impact Radius

Here's how to find your Impact Radius affiliate ID:

Your Impact Radius affiliate ID is listed between ( ) in the top-right corner of the Impact Radius affiliate control panel.

LinkConnector

Here's how to find your LinkConnector affiliate ID:

  1. Login into your LinkConnector control panel www.linkconnector.com
  2. Your LinkConnector affiliate ID is listed in the right top corner between [ ]

Linkshare

Here's how to find your Linkshare affiliate ID:

  1. Login into your Linkshare control panel www.linkshare.com
  2. Click 'Links' then 'Get Links' in the dropdown menu

  3. Select a merchant from the menu and generate the code for a Banner/Image or Text/Email link

  4. The link you see after <a href=" is your affiliate link. Example of a Linkshare affiliate link...

    http://click.linksynergy.com/fs-bin/click?id=VjQbkSOl*HY&offerid=146697.10000082&subid=0&type=4

  5. The value between ?id= and the next & sign is your Linkshare affiliate ID. In the above example, VjQbkSOl*HY would be your Linkshare affiliate ID. Note that LinkShare affiliate IDs can include numbers, letters and signs such as asterisks, slashes and so on.

MyCommerce

Here's how to find your MyCommerce affiliate ID: Once your application to join MyCommerce has been accepted you'll receive an email with your Account ID. The Account ID is your MyCommerce affiliate ID.

oneNetworkDirect

Here's how to find your oneNetworkDirect affiliate ID:

Once your application to join oneNetworkDirect has been accepted you'll receive an email with your Username.

The Username is your oneNetworkDirect affiliate ID.

Optimise

Here's how to find your Optimise affiliate ID:

  1. Login into your Optimise control panel www.optimisemedia.com
  2. Under the Content menu click on "Get Banners & Editorials".
  3. Choose a merchant in the merchant dropdown box. Then click the Search button.
  4. Take a look now at one of the Tracking Code boxes. The link you see after <a href=" is an affiliate link. The value of the AID parameter is your Optimise affiliate ID.

Example:

http://clk.omgt5.com/?AID=815475&MID=523796&PID=12068&CID=4571859&CRID=93260&WID=59958

affiliate ID = 815475 

Paid On Results

Here's how to find your Paid On Results affiliate ID:

Your Paid On Results affiliate ID is the same as your username and is included in your welcome email.

Partner-ads

Here's how to find your Partner-ads affiliate ID:

  1. Login into your Partner-ads control panel www.partner-ads.com/dk/
  2. Click in left column on Opdater Data.
  3. Your affiliate ID is the Partner ID you see at the top of the page.

PepperJam Network

Here's how to find your PepperJam Network affiliate ID:

  1. Login into your PepperJam Network control panel www.pepperjamnetwork.com
  2. Your PepperJam Network affiliate ID is the Publisher ID listed in the header. 

RevResponse

Here's how to find your RevResponse affiliate ID:

  1. Once your application to join RevResponse has been accepted you'll receive an email with a link to a co-branded site.
  2. The part that is displayed in front of tradepub is your affiliate ID. In http://datafeedr.tradepub.com for example datafeedr would be the affiliate ID.

Shareasale

Here's how to find your Shareasale affiliate ID:

  1. Login into your Shareasale control panel www.shareasale.com
  2. Your Shareasale affiliate ID is the number listed in the header after "Your User ID:"

SkimLinks

IMPORTANT
 
Skimlinks has decided to deprecate the InvisibleHand API, and is now no longer accepting new sign-ups for the InvisibleHand API.
 
It is likely to get shut down in February.
 
The good news though is that it will be getting replaced by a new product data API.
 
As soon as we get access to the new API we'll see what is necessary to replace the current Skimlinks setup in the Factory.
 
Until then it's not possible to use Skimlinks in Datafeedr (unless you registered a key in the past).
 

Here's how to find your SkimLinks API access details:

  1. Login into your InvisibleHand account https://developer.getinvisiblehand.com/login
  2. Click down the menu under your username in the top right corner.
  3. Click on API Access Details to get your application ID and application key.
  4. Enter ID and key in Factory > SkimLinks API Settings.

Here's how to find your SkimLinks affiliate ID:

  1. Login into your SkimLinks control panel http://www.skimlinks.com
  2. In the header menu click on Account.
  3. You'll see now the site(s) you have added to your account.
  4. The Site ID that is displayed for your site is your affiliate ID.

SuperClix

Here's how to find your SuperClix affiliate ID:

Once your application to join SuperClix has been accepted you'll receive an email with your username.

The username is your SuperClix affiliate ID.

TradeTracker

Here's how to find your TradeTracker affiliate ID:

  1. Login into your TradeTracker control panel www.tradetracker.com
  2. Click on Account. Then on the My Sites link.
  3. The number (without the #) that is displayed in front of your site is your affiliate ID. 

Tradedoubler

Here's how to find your Tradedoubler affiliate ID:

  1. Login into your Tradedoubler control panel www.tradedoubler.com
  2. In the Sites menu click on Sites.
  3. You'll see now the site(s) you have added to your account.
  4. Click on Settings > Edit.
  5. The Site ID that is displayed for your site is your affiliate ID.

Webgains

Here's how to find your Webgains affiliate ID:

  1. Login into your Webgains control panel www.webgains.com
  2. Click in the header on "Sites & Keyword campaigns"
  3. Click in the dropdown on "View sites/campaigns"
  4. The site ID that corresponds with your website is your Webgains affiliate ID

Zanox

The Zanox network is a bit special. Unlike most affiliate networks Zanox does not work with 1 single affiliate ID.

Zanox assigns a unique affiliate ID per (adspace/merchant) combination.

That means you may have hundreds of affiliate IDs depending on the number of approved merchants in your Zanox account.

It also means that you can have different affiliate IDs for one and the same merchant.

If you apply for a merchant under an adspace you will get assigned a unique tracking ID for that merchant.

If you apply for that same merchant under another adspace you will get assigned another unique tracking ID for that merchant.

So it's obvious that we had to integrate Zanox in a completely different way.

Instead of entering all your affiliate IDs for Zanox in the Affiliate IDs & Tracking Parameters section you just have to choose the adspace you wish to work with.

- What is an adspace?

Simply stated each website you register in Zanox is considered an adspace.  

If you register let's say 3 websites in Zanox you have 3 different adspaces in Zanox.

You can view a list of your adspaces in Zanox via the menu Profile > My Ad Spaces.

Once you have chosen an adspace in the Factory Datafeedr will store all your affiliate IDs for the merchants you're approved for within that adspace.

- How to choose your adspace in the Factory?

First of all you must enter your Zanox Connect ID and Secret Key in Factory > Zanox API Settings.

Without this information, Datafeedr will not be able to pull in your adspace(s).

To get your Connect ID and Secret Key

1. Go to http://www.zanox.com/ and login with your username and password.

2. In the Links & Tools header menu click on Getting Started under Web Services APIs to find both your Connect ID and Secret Key.

3. Enter those keys in Factory > Zanox API Settings and Click Save.

Now Datafeedr will pull in your adspaces behind the scenes.

To choose your adspace

1. Go to Store > Affiliate IDs & Tracking Parameters.

2. For Zanox you'll find under the "Affiliate ID" column a dropdown with all your adspaces.

3. Choose the adspace you wish to work with and click Save.

Now Datafeedr will pull in your affiliate IDs for the merchants you're approved for within that adspace.

IMPORTANT: If you wish to add products from Zanox merchants to your website you must be approved for these merchants in the chosen adspace (even if you are already approved for these merchants in other adspaces).

URL Settings

Clicking on Store > URL Settings opens a dialog box where you configure all of the paths on your site, a useful feature for search engine optimization. Search engine friendly URLs is a big topic, so we recommend doing some research in order to decide what is best for your store.

URL setting options

  • Front page URL: Path for the store's front page. Leave this field blank to display your store's front page on your blog's homepage.
  • Default categories: Path for all category pages.
  • Product URLs:  The following 4 fields control the paths of product related URLs. Each field must be configured differently so no URL paths conflict.
    • Product detail page: Path for a single product's detail page.
    • Product image: Path for a single product's image.
    • Product thumbnail: Path for a single product's thumbnail image.
    • "Buy" link: Path for a product's "Buy" URL. This is the URL that will take your website visitor from your site to the merchant's website when they click the "Buy" button.
  • Products by tags: Path for all tags pages. These are pages that display a listing of products tagged with a specific tag.
  • Search page: Path to the search page.
  • CSS file: Path to the store's CSS file.
  • Legacy URL support: Set how URLs in Datafeedr 1.5.x style should be supported (Full, Redirect, or None).
  • Slug words separated by: Set how words should be separated in the URL, Underscore or Dash. For example, for the category "Rock Climbing", you have 2 options: Underscore (rock_climbing), or Dash (rock-climbing).

Important

Settings can potentially conflict with each other, so be sure to test your configuration by clicking the "Test" button at the bottom of the dialog box.

Drip Settings

The Drip feature allows you to automatically create blog posts using products from your store at regular or random intervals. Drip Settings is a dialog box where you configure how the Drip feature works.

How to configure drip settings

  • Drip function: Click "Enabled" to turn this feature on; by default, the Drip is disabled.
  • Post categories: Configures how you want dripped products organized.
    • Copy store structure: creates new blog categories which will match your store's category hierarchy.
    • Move all posts to the following category: puts all products into 1 blog category which you specify.
  • Drip intervals: Allows you to set a minimum and maximum number of minutes for a product to be posted to your blog. For example, if you put Minimum: 180 minutes and Maximum: 360 minutes, a new blog post will be created using a product from your store every 3 to 6 hours.
  • Query string: You can specify a specific category to use in your drip.  Read more about query strings usage here.
  • When drip is done: Allows you to choose how Drip will behave after after it has run through all the selected products: Stop Drip: turns the Drip feature off; Restart queue: starts Drip again from the beginning of your selection. NOTE: if you restart your drip, your blog will contain duplicate posts.
  • Post options: Provides additional options governing your dripped posts.
    • Post in draft mode: allows you to manually edit or reschedule posts before publishing.
    • Add product tags as post tags: allows you to use the products tags as tags for the post the product generates.
    • Add merchant names as tags: allows you to add the merchant's name as a tag for the post the product generates.
    • Enable comments: by default, comments are not enabled on dripped posts.
    • Enable pings: by default, pings are not enabled on dripped posts.
    • Replace '-' in tags with ___: allows you to select a character to replace the default '-' within multi-word tags. For example, the tag "rock-climbing" could be changed to "rock+climbing".

Important

Use the Drip with caution as you may find your blog unexpectedly full of products. If you just want to keep your products in the store, keep the Drip disabled (turned off).

Custom CSS

Clicking Store > Custom CSS opens a dialog box where you can add your own CSS code to your store's pages. Simply paste the code into the text area and click [Save] when you are finished. Do not include <style> tags in your code. Include ONLY CSS selectors.

Important

Do not add CSS code here that is responsible for stying non-store pages on your site. This CSS will only be applied to your store pages.

Advanced Store Settings

This allows you to configure what image to use if a product has no image.

Sitemap Settings

Configure how your store's sitemap is set-up. Don't forget to configure your sitemap URL here: The Factory > Your Store > Store menu > URL Settings > Sitemap.

Standard Pages

By default, all of your standard pages are included in your sitemap. These include your store front page, category pages and product detail pages. You can configure the priority and change frequency for these pages.

Custom Pages

These settings are for custom pages. You can configure these or exclude them from your sitemap.

Options

Some sitemap aggregators such as Google Webmaster Tools allows only 50,000 items per sitemap. The sitemap defaults to 50,000 links. If you need a larger or small sitemap, enter the number of links you want included in your sitemap. For example, if you want just 25,000 products in a sitemap, then enter 25000. If you know your sitemap is large and split into multiple sitemap files, you will need to configure your Sitemap URL Settings to accommodate the additional files.

For example, if your Sitemap URL Settings is: store/sitemap

You will need to change it to: store/sitemap%sn

That will create the following files:

  • store/sitemap
  • store/sitemap1
  • store/sitemap2
  • store/sitemap3
  • etc...

If you are submitting to Bing, you may need to add .xml to the end of your URL settings like this store/sitemap%sn.xml

The %sn in the URL Settings is a placeholder for page number for sitemaps.

The following information regarding Priority and Change Frequency can be found below. This information is sourced from: http://support.google.com/webmasters/bin/answer.py?hl=en&answer=183668&topic=8476&ctx=topic

Priority

This describes the priority of a URL relative to all the other URLs on the site. This priority can range from 1.0 (extremely important) to 0.1 (not important at all).

This does not affect your site's ranking in Google search results. Because this value is relative to other pages on your site, assigning a high priority (or specifying the same priority for all URLs) will not help your site's search ranking. In addition, setting all pages to the same priority will have no effect.

Change Frequency

This setting provides a hint about how frequently the page is likely to change. Valid values are:

  • always. Use for pages that change every time they are accessed.
  • hourly
  • daily
  • weekly
  • monthly
  • yearly
  • never. Use this value for archived URLs.

Spin Content

You can spin the content of your product names and product descriptions. Spinning means replacing words in names or descriptions with other words to offset duplicate content issues.

Synonyms

Here you enter a list of substitue words, one list per line. For example:

big, large, huge
great, awesome, fantastic

Now occurrences of the word "big" will be substituted with "large" or "huge" and the word "great" will be substituted with "awesome" or "fantastic".

Apply to

Choose wether to apply this substitution to product names, product descriptions or both.

Replace a word with...

This setting lets you specify whether to replace every occurrence of a word with the same synonym or a different synonym.

For example, if your synonym list is: great, awesome, fantastic

And the text to be substituted is: "Datafeedr is great. Datafeedr customers are great."

Using the "same synonym" option, you would get either of the following results:

"Datafeedr is awesome. Datafeedr customers are awesome." (same word used for each replacement)
"Datafeedr is fantastic. Datafeedr customers are fantastic." (same word used for each replacement)

However, if you use the "different synonym" option, possible outcomes might be:

"Datafeedr is fantastic. Datafeedr customers are awesome." (different word used for each replacement)
"Datafeedr is awesome. Datafeedr customers are fantastic." (different word used for each replacement)

Add Category

The Add Category link in the Store menu allows you to add a category to your store.

How to add a category to a store

  1. After selecting a store, go to Store > Add Category; the New Category dialog box will appear.
  2. In the New Category dialog box, enter the name of the new category.
  3. Select the type of category from the dropdown menu. There are two options:
    • Normal category is shown in the categories menu.
    • Hidden category does not appear in the categories menu, but can be referred to in "[DFR]" tags or used for dripping.
  4. From the next dropdown menu, select the parent category for this new category, or select "Top Level" if the new category has no parent (i.e. is not a sub-category).
  5. When you are done, click [Create]; you will be redirected to the Category Home page and prompted to add products to this new category.

Add Multiple Categories

The Add Multiple Categories section allows you to add category, category properties and search subscriptions in bulk. Below you can find a few examples as well as the full documentation of what can be added and configured using XML markup. You can find the interface for adding categories in bulk here: The Factory > Your Store > Store menu > Add Multiple Categories.

Add a single category

<category name='Pets'></category>

Add multiple parent categories

<category name='Dogs'></category>
<category name='Cats'></category>
<category name='Birds'></category>

Add a single category and the category's properties

<category 
	name='Pets'
	typ='0'
	image='http://site.com/my-image.jpg'
	thumbnail='http://site.com/my-thumbnail.jpg'
	keywords='pets,animals'
	slug='pets'
>
</category>

In this example, you can see we have set 6 different properties about this category:

name = The category's name
typ = This is the type of category. 0 = Normal Category. 3 = Hidden Category. 0 is the default if this attribute is not set.
image = This is the full URL to the category image.
thumbnail = This is the full URL to the category thumbnail.
keywords = These are the keywords that appear in the keywords. They should be comma-separated.
slug = This is the category's slug. If left blank, the name field will be converted into the slug by making all lowercase and replacing spaces with dashes.

Add a single category, the category's properties and the category's description (category properties are on 1 line):

<category name='Pets' typ='0' image='http://site.com/my-image.jpg' thumbnail='http://site.com/my-thumbnail.jpg' keywords='pets,animals' slug='pets'>
	<description>View all of our unique pet products.</description>
</category>

Add a single category with a description and subcategories:

<category name='Pets'>

	<description>View all of our unique pet products.</description>
	
	<categories>
		<category name='Dogs'></category>
		<category name='Cats'></category>
		<category name='Birds'></category>
	</categories>

</category>

Add a single category with a description and 3 subcategories with descriptions:

<category name='Pets' keywords='pets,animals'>

	<description>View all of our unique pet products.</description>
	
	<categories>
	
		<category name='Dogs'>
			<description>Here are the dog products.</description>
		</category>
		
		<category name='Cats'>
			<description>Here are the cat products.</description>
		</category>
		
		<category name='Birds'>
			<description>Here are the bird products.</description>
		</category>
		
	</categories>

</category>

Add category and simple search subscription

<category name='Pets' slug='pets'>

	<description>View all of our unique pet products.</description>

	<subscriptions>
		<subscription>
			<param name='keywords' value='dog cat bird -fish' />
		</subscription>
	</subscriptions>

</category>

This creates a new category named "Pets" and adds a keyword search subscription "dog cat bird -fish" to the subscription.

Add category and a complex search subscription

<category name='Basketball Shoes' slug='basketball'>

	<subscriptions>
		<subscription name='Air Jordans'>
			<param name='name' value='Jordan' />
			<param name='brand' value='Nike' />
			<param name='price' from='100' to='200' />
		</subscription>
	</subscriptions>

</category>

A subscription query is a set of "param" tags:

<param name='param1-name' attributes... />
<param name='param2-name' attributes... />
<param name='param3-name' attributes... />

Here are the additional parameters you can use and their respective values and attributes:

Option Param name

Attributes

Keywords keywords

value='search text'

exact='yes|no'

Product name name

value='search text'

exact='yes|no'

Product description description

value='search text'

exact='yes|no'

Product price price

from='min price'

to='max price'

Similar products like

id='product id'

certainity='certainity factor %'

price='price factor %'

Tags tag

value='comma separated list of tags'

Merchants merchants

ids='comma separated list of merchant ids'

exclude='yes|no'

SKU sku

value='search text'

Brand brand

value='search text'

Model model

value='search text'

ISBN isbn

value='search text'

Currency currency

value='search text'

Products with images images

value='yes'

Allow duplicate items duplicates

value='yes|no'

Search limit limit

value='number'

Add 1 parent category and 3 subcategories which contain descriptions and search subscriptions

<category name='Pet Shampoo' keywords='pet shampoo,pet,shampoo'>

	<description>Shampoo for all types of pets.</description>
	
	<categories>
	
		<category name='Dog Shampoo'>
			<description>Shampoo for dogs.</description>
			<subscriptions>
				<subscription name='dog shampoo search'>
					<param name='keywords' value='dog shampoo' />
					<param name='price' from='5' to='50' />
				</subscription>
			</subscriptions>
		</category>
		
		<category name='Cat Shampoo'>
			<description>Shampoo for cats.</description>
			<subscriptions>
				<subscription name='cat shampoo search'>
					<param name='keywords' value='cat shampoo' />
					<param name='price' from='5' to='50' />
				</subscription>
			</subscriptions>
		</category>
		
		<category name='Hamster Shampoo'>
			<description>Shampoo for hamsters.</description>
			<subscriptions>
				<subscription name='hamster shampoo search'>
					<param name='keywords' value='hamster shampoo' />
					<param name='price' from='5' to='50' />
				</subscription>
			</subscriptions>
		</category>
		
	</categories>

</category>

Adding specific products to a category

<category name='Cat Toys'>

	<products>
		<product id='1637901373108600' />
		<product id='1569700764077467' />
		<product id='1637901410084394' />
	</products>

</category>

Add View

Views govern how pages, categories, and individual products are displayed within your store. The Add View link in the Store menu allows you to create a customized View, or "look" for your store.

How to add a View to a store

  1. After selecting a store, go to Store > Add View; the New View dialog box will appear.
  2. Choose the type of view you want to modify. There are eight options:
    • Store front page
    • Category page
    • Product detail
    • Search page
    • Products by tag
    • Drip template
    • Widgets
    • Custom views
  3. Check "Don't use layout for this view" if you want the resulting View will to contain no layout markup.
  4. Add a custom CSS ID attribute for this view.
  5. Click [Create].

Browse Products

This is an area of the Factory where you can browse products either from the main database of products, from Amazon or from your own Custom Products.  

NOTE: You cannot add products to your store from this "Browse Products" area.  To add products to your store, you must be within a category.  To get into a category, click a category name from the left sidebar.

View Removed Products

Go to Store > View Removed Products to view a list of the products which you have manually removed from your store. This feature is useful because it allows you to monitor which products are not appearing in your store based on your search settings.

To return a product to your store, click [Unblock from store].

Rename Store

You may change the name of your store at any time. Changing the name of your store will not affect any of your store settings.

How to rename your store

  1. After selecting a store, go to Store > Rename Store; this will open the Rename Store dialog box.
  2. In the Store name field, enter a new name.
  3. Click [Save].

Duplicate Store

Duplicate Store allows you to make an exact copy of your store at the click of a button. This feature is useful if you want to duplicate your merchant selection, products, categories, and views, before tweaking them slightly to create a second similar store.

How to duplicate your store

  1. After selecting a store, click the [Duplicate Store] link in the Store menu options. 
  2. A duplicate store has been created. You will be redirected to the new Store Home page entitled YourStoreName copy.

Download Store

If you are using Version 1.x of the plugin or you are using Version 3.x of the plugin but do not have php's cURL library installed, you will need to download a copy of your store in order to update your website.  Download the version of the store that matches your version of the plugin.

Delete Store

You can permanently delete a store using the Delete This Store option in the Store menu.

How to delete a store

  1. After selecting a store, go to Store > Delete This Store; a dialog box will appear.
  2. In the Delete This Store dialog box, verify the name of the store you are deleting.
  3. Click [Delete] to confirm the action and delete the store or click [Cancel] if you change your mind and want to keep the store intact.

Important

Deleting your store is final, permanent and cannot be reversed. Proceed with caution!

Category

The Category menu is where you can perform actions and configure settings for the categories within a store. In order to use the Category menu links, you must first select a category within one of your stores.

How to use the Category menu

  1. Go to Factory > Your Stores and select a store; you will see a collapsible menu item called [Categories] in the left sidebar.
  2. Click on [Categories] to expand the menu and see a list of all the categories you have created.
  3. Click [+] to expand the list and see your sub-categories, or click [-] to collapse the list.
  4. After selecting one of your categories or sub-categories, the Category menu options will be available.

The Category menu covers:

Category Properties

You can add or edit the properties of individual categories by going to Category > Category Properties. In the Category Properties dialog box you can customize the following information:

  • Name: the name of your category.
  • Slug: the word that represents your category in a URL.
  • Type: Normal (appearing in the category menu) or Hidden (does not appear in the category menu; used for the Drip feature).
  • Description: a sentence or two which will display in the <meta> tag or within the content of your site.
  • Keywords: descriptive words which will display in the <meta> tag.
  • Image URL: a URL containing "http://" to display an image representing your category
  • Thumbnail URL: a URL containing "http://" to display a thumbnail image representing your category

Don't forget to click [Save] when you are done. You can update category properties at any time.

Add Sub-Category

Adding a sub-category (child) to an existing category (parent) is easy. After selecting a category, click [Add Sub-Category] from the Category menu. The New Category dialog box will open and you will be prompted for the following information:

  • Name: Enter the name of your category; this can be changed at any time.
  • Type: Select Normal or Hidden.
  • Parent category: Select from a list of categories you have already created.

When your selections are made, click [Create] and your new sub-category will be created.

Duplicate This Category

coming soon

View Products In This Category

After selecting a category or sub-category from within a particular store, go to Category > View Products in This Category to view a list of all the products in a particular category. This page also shows a summary of your search terms and allows you to edit, copy, or delete your search subscription.

If there are no products in the selected category, you will be prompted to add products.

Add Products To This Category

The Add Products link takes you to the search page where you can populate a category with products based on your search criteria. Note that you will be searching only from the merchants you have pre-selected as Your merchants and added to this store.

How to add products to a store

  1. After selecting a category within a store, go to Category > Add Products; you will be redirected to Datafeedr's database search interface.
  2. Enter search terms in the search box; click [Find].
  3. Add additional filters and/or search terms in order to refine your search.
  4. When you are satisfied with your search results, click [Save search].
  5. The Save Search Results dialog box will open, prompting you to name the search (optional) and add it to the selected category; you may change the action and/or category at this time if desided.
  6. Click Save; the dialog box will close and you will see a summary of your search subscription at the top of your search results page.

Note

By saving and naming your searches, you create Subscriptions. This is a useful feature for efficiently managing the products in your store as it eliminates the need to remember and redo your searches. You can edit your Subscriptions at any time.

The following types of searches are possible:

  • "and" operator ("foo and bar", "foo bar")
  • "or" operator ("foo or bar", "foo | bar")
  • "not" operator ("-bar", "not bar")
  • phrasal search (in double quotes). Phrasal searches are still subject of stopwords removal and stemming (for example, "New World Machine" also finds "New Worlds of Machines")
  • start operator("^"), for example product name="^bag" only finds products whose names start with "bag" or "bags"
  • quorum operator. e.g "blue suede rock climbing shoes"/2 - will find products that contain at least 2 from given 5 words.

Because there must be at least one "positive" alternative, the following searches do not work:

  • single negative search ("-foo")
  • OR search with a negative branch ("-foo | bar")

Delete This Category

You can permanently delete a category within a store from the Delete This Category link in the Category menu.

How to delete a category

  1. After selecting a category within a store, go to Category > Delete This Category; a dialog box will appear.
  2. In the Delete This Category dialog box, verify the name of the category you are deleting.
  3. Click [Delete] to confirm the action and delete this category or click [Cancel] if you change your mind and want to keep the category intact.

Important

Deleting a category is final, permanent and cannot be reversed. Proceed with caution!

View

The View menu is where you can control the layout and design of your store. You can configure how pages, categories, and products are displayed and what information is displayed about the product, such as price, description, image, etc. You can also configure your WordPress widgets as well as the layout for dripped products. In order to use the View menu links, you must first select a specific View within one of your stores.

How to use the View menu

  1. After selecting a store, you will see a collapsible menu item called Views in the left sidebar.
  2. Click on [Views] to expand the list; you will see all the types of Views which you can configure.
  3. Click on the name of a View and select an option from its sub-menu. For example,  Store Front Page > Default.
  4. After selecting a specific View, the View menu options will be available.

The View menu covers:

Introduction to Views

Views allow you to control how your store looks as well as what content appears and what does not appear.  Views also allow you to control what appears in the <head> and <title> tags for each of your store's pages. Views can be accessed from the sidebar Views menu:

Each page type is a view.  For example, the Store's Front Page is a view.  You can only have 1 Store Front Page therefore you can only have 1 view for this page type.  Other page types, like Category Pages, can have multiple views.  For example, you could have a different view (or layout & design) for each category in your store.

Each view is made of at least one module.  A module is responsible for a specific type of content.  A module can be dragged and dropped into a module area.  Multiple modules can be added to a module area.  You can create as many rows of module areas that you want and up to 5 columns in each row.

Below is screenshot of a typical view and a legend underneath describing each section. This view has 2 rows.  The first row has 2 columns of content. The second column has 2 modules in the module area.  The second row has 1 column of content.

A - These are the available modules for each view. To move a module into a module area, click and hold the module and drag it to a module area.

B - This is the View Layout Menu.  By hovering over the View Layout Menu Icon (H), this menu will appear.  It allows you to add more rows, add columns to a row and delete rows or columns.

C - This is the Module Layout icon.  Click this to edit the HTML of the layout of the module. This icon is not available for all modules.

D - This is the Module Configuration Icon. Click this to edit the settings of the module.

E - This is the Module Delete Icon.  Click this to delete a module from the module area.

F - This is the Module Move Icon.  To move a module from one module area to another module area or to move a module up or down within a module area, simply click and hold the Module Move Ico and drag it to where you want it to appear.

G - This is the Module Area.  Drag modules to this area.

H - This is the View Layout Menu Icon. When you hover over this icon, you will see the View Layout Menu.

View Properties

View Properties allows you to configure your view's parameters.  Fields will vary depending on what type of view you are editing the properties for but some settings are consistent.

Don't use layout for this view - When this option is checked, all surrounding view HTML is removed. This is usefult when you just need the content of a module to display but don't need all of the extra HTML that creates the view layout.

Custom CSS ID - You can specify a CSS ID for this view.

View <head> Elements

This allows you to add your own <head> elements to any page.  For example, here you will handle your <title> and <meta> tags.  Additionally in this field you could also set additional CSS, link to a CSS file or set your canonical link.  Here's an example of the <head> elements of a Category Page:

<title>[category.name]</title>
<meta name="description" content="[category.description]" />
<meta name="keywords" content="[category.keywords]" />

Reset/Delete This View

Use this option to reset or delete a view.

If a view is a Default view and the view type can only have 1 view, you will only be presented with the option to Reset the view. Resetting a view deletes all modifications that have been made and restores the view to its original state.

View Types

There are many types of Views you can configure. For example, the Store Front Page view controls how your store's homepage will look. The Category Page view controls how products are displayed within a category. Below is a list of the current types of Views that you can configure:

Store Front Page

This page is responsible for the layout of your store's front page.

This page can only have 1 view as your store only has 1 front page.

Category Page

This controls how your category pages look.

Category pages can have more than 1 view.

Product Details

This controls how the single product details page looks.

This page can have more than 1 view.

Search Page

This controls how the search results page loks.

This page may only have 1 view associated with it.

Products by Tag

This controls how products listed by tags are displayed.

This page may only have 1 view associated with it.

Drip Template

This controls how dripped products are displayed.

This page can have more that 1 view associated with it.

Widgets

These views will be accessible in your WordPress Widgets menu.  You can create as many Widget views as you need and they will be available to choose from after you have updated your store.

Custom Views

Custom views allow you to create store pages that don't fit into categories.  For example, you might create a custom view to display products related to a holiday.

View Modules

There are a number of modules you can use on any given view. Modules are pieces of content that can be moved around and configured to show exactly what you want to show wherever you want to show it.

Below are a list of the available modules:

Breadcrumbs

The module displays a breadcrumb on your site.

Breadcrumbs or breadcrumb trail is a navigation aid used in user interfaces. It gives users a way to keep track of their locations within programs or documents. The term comes from the trail of breadcrumbs left by Hansel and Gretel in the popular fairytale.

~ Wikipedia

Here's an example of how a Breadcrumb might look:

Store Home > Shoes > Men's Shoes > Running Shoes > New Balance 663

You have a few options when it comes to configuring your Breadcrumb:

Title for the store homepage - What should be the title of the first link in the breadcrumb of links Common configurations are "Home" or "Store Home".

Links separator -What character should separate the links in the breadcrumb. Common characters are ">", "»" and "/".

Tag for the last item - By default, the last item in the breadcrumb will appear as a link.  If you don't want it to be hyperlinked, then you can add an HTML tag in this field and the HTML will be replaced.  For example, if you put strong in this field, the last item in the breadcrumb will appear BOLD and will not be a link.

Custom CSS ID - You can apply a CSS ID to the breadcrumb.

Category List

The category list module is designated to display a category list. Each list must begin with [category.list] and end with [/category.list]. It is possible for the [category.list] tag to contain additional parameters and nesting [category.list] loops is possible to enable different styling at different levels of your category hierarchy.

Text

The Text module is very versatile.  You can use it to display simple text, HTML and even PHP code.  You can also embed a tag cloud and search forms into the Text module.

Product List

The Product List module is responsible for looping through a group of products and displaying information for each product in that group of products. Each Product List module must contain an opening [product.each] tag and the closing [product.end] tag. If these tags are missing, you will see errors on your website.

Product Details

The Product Details module is responsible for displaying the information about 1 product.

Comparison Set

The Comparison Set module is responsible for displaying a list of products in a comparison set.  This module must contain the opening [compset.each] tag and the closing [compset.end] tag otherwise errors will appear on your website.

The attribute includemaster can be used to include or exclude the master product from the comparison list of products.  This attribute is optional.  Here are 2 examples:

Include master: [compset.each includemaster='yes']
Exclude master: [compset.each includemaster='no']

Default is set to 'yes'.

Store Building Guide

Information for setting up and configuring elements of your store.

Product Search & Subscriptions

Creating a good search will go a long way in helping you create your stores fast and ensuring that the products you want included in your store are included and the products you don't want in your store are excluded.

The following sections cover finding and adding products to your store:

The Good Method

There is a good way and a bad way to add products to a category in your store. The good way is by creating 'search subscriptions'.  The bad way is adding products one by one to a category.

Datafeedr enables you to 'subscribe' to a search.  Every 'search subscription' is linked to a category in your store.  For example:

  1. I have a category named "Shoes for Rock Climbing".
  2. I do a search for "rock climbing shoes".
  3. The search for "rock climbing shoes" returns 100 results.
  4. I save this search to my "Shoes for Rock Climbing" category.
  5. Now my category has 100 products in it.

What's so "good" about this method?

While it might take a little more time to set up a search subscription which returns the products you want, the time it saves you in the future is well worth it!  Here are the advantages of taking the time to set-up a good search subscription:

  1. New products are automatically added - If a merchant adds new products to their inventory and those products match your search subscription, those new products will automatically appear in your store.
  2. Add dozens/hundreds of products in 1 click - With search subscriptions, you can easily create a store filled with hundreds of products with just a few mouse clicks.  There's no need to select every single product, one by one, to be included in your store.
  3. No need to check inventory - You don't need to constantly search the Datafeedr database looking for new products that may have been added since the last time you checked.  That happens automatically with search subscriptions.

If you find yourself adding more than a dozen products one by one, you are probably a candidate for using search subscriptions.

The Bad Method

The Bad Method of adding products to your store is adding products one by one.  While there are exceptions, generally, this is not the best way to build your store.

In most cases, you should be adding products to your store by setting up a search subscription.

If you are adding products to your store one by one, you will never have new products automatically added to your store, your store will gradually get smaller and smaller and everytime you want to add new products, you'll need to search the Datafeedr database.

If you find yourself adding more than a dozen products to your store one by one, consider using a search subscription to make your store building experience easier and faster.

Overview of the Search Form

Here is the layout and a legend of the search form elements.

  • A - The add filter icon will add additional filter fields to the form when clicked.
  • B - To remove a filter, click the remove filter icon.
  • C - This is the field to search.
  • D - This is the input area for a field.
  • E - A few search tips which opens in a pop-up window.
  • F - The [Find] button will perform the search.
  • G - To subscribe to a search click the [Save search] button.  This button will only be present after a search has been run.

Searchable Fields

Currently there are 15 filters you can apply to a search. Here's a screenshot of each filter. Below the screenshot is an explanation of each field.

Keyword - Keyword searches are the most broad. A keyword search searches product name, product description and product tag fields.

Product name - Product name searches search only the product name field.

Product description - Product description searches search only the product description field.

Price range - Filters products within a given price range. If you want to search for all products more than $XX.XX, only fill in the first field and leave the second field blank.  If you want to search for all products less than $XX.XX, only fill in the second field and leave the first field blank.

Tags - Searches the product tag field.

Images - When this checkbox is checked, only products that have product image URLs will be returned.

Similar to - Returns products that are similar to another product.  This filter has 3 fields:

  • Product ID - The product ID of which you are trying to find similar products
  • Certainty - Is a percentage that the returned products are similar.  The higher the percentage, the more restrictive the search will be.
  • Price difference - Is the difference in price you will allow between the control product and the returned products.  If the control product is priced at $100 and the price difference is set to 25%, then returned products will be between $75 and $125.

Merchants - When this filter is exposed, you must select merchants and a filtering option.  By default, all merchants are searched unless this filter is exposed and a merchant is selected.

Limit - To limit the number of results in a search, enter in the maximum number of products you want returned in your search.

Brand - If the merchant has supplied a brand name in the brand field in the datafeed they provided, the brand name will be searchable here..  Not all merchants provide this information and if you do a brand search that returns fewer results than expected, you might consider placing the brand name in the Keyword field.

UPC/EAN - If the merchant has provided a UPC or an EAN number in the appropriate field in the datafeed they provided, the code will be searchable here. Not all merchants provide this information.

Product Code - If the merchant has provided a product code or a SKU number in the appropriate field in the datafeed they provided, the number will be searchable here.  Not all merchants provide this information.

Model - If the merchant has provided a model number in the appropriate field in the datafeed they provided, the number will be searchable here.  Not all merchants provide this information.

Currency - If the merchant has provided a currency code in the appropriate field in the datafeed they provided, the code will be searchable here.  Not all merchants provide this information. Possible code might be: USD, GBP, EUR

ISBN - If the merchant has provided an ISBN number in the appropriate field in the datafeed they provided, the number will be searchable here.  Not all merchants provide this information. This information is only provided for books.

Search Operators

AND - Returns products that match all words in the query. Use a space " " to indicate both terms should be searched for. Example: dog bed

OR - Returns products with at least one of the words. Use the pipe symbol "|" to include multiple words in your search. Example: dog|cat

NOT - Returns products that do not have the designated word(s). Use the dash symbol "-" to exclude a word from your search. Example: dog -cat

Phrasal - Returns products that contain the exact phrase. Example: "dog bed"

Starts With - Returns products that start with this string. For example, ^bags only returns products whose field start with "bags". Example: ^puppy

Quorum - Returns products that contain at least X number of words in a given phrase. For example, "dog puppy canine bed sofa couch"/2 will return products that contain at least 2 of the 6 words. Example: "dog puppy canine bed sofa couch"/2

Exact - Returns products that match the exact word. For example, =watch will return all products that contain the word "watch" but not "watched", "watcher" or "watches".

NOTE: All searches use stemming and omit stopwords. For example: "machine" also returns "machines"; "new world of cars" returns "new world cars".

Tips & Additional Information

Remember that all searches in the Factory use stemming and omit stopwords. For example: "machine" also returns "machines"; "new world of cars" returns "new world cars".

Be careful not to create search subscriptions that are too narrow and limited or too broad and general. This could lead to unexpected products appearing or disappearing when merchants modify their datafeeds.

Query Strings

A query string allows you define specific parameters when returning a list of products. 

Available Parameters:

  • c - possible values are category ID, category slug or category placeholder (%ci).
  • network - possible values are network name, or a part thereof.
  • merchant - possible values are merchant name, or a part thereof.
  • name - possible values are product name, or a part thereof.
  • price - possible values are exact price or price range.
    • price=-10 equals products priced less than 10.
    • price=10- equals products prices more than 10.
    • price=10-20 equals products priced between 10 and 20.
  • saleprice - possible values are exact saleprice or saleprice range.
    • saleprice=-10 equals products sale priced less than 10.
    • saleprice=10- equals products sale prices more than 10.
    • saleprice=10-20 equals products sale priced between 10 and 20.
  • sort - possible values are field names (like sort=price) optionally preceded by '-' (like sort=-price) for reverse sorting.
  • word - possible values are a keyword which appears in the product name, description and/or tags.
  • tags - possible values are words, separated by "+".

 

Example Usages:

Filter products by category ID

c=12345

Filter products by category slug

c=running-shoes

Filter products by an affiliate network name

network=Google Affiliate Network

Filter products by a partial affiliate network name

network=Google

Filter products by product name

name=Nike Running Shoes

Filter products by merchant name

merchant=Apple iTunes

Filter products by a partial merchant name

merchant=Apple

Filter products by an exact price

price=10

Filter products by a less than price

price=-10

Filter products by a more than price

price=10-

Filter products by a price range

price=10-20

Filter products by one keyword tag

tags=shoe

Filter products by multiple keyword tags

tags=shoe+running

Filter products by all words in product's name, description or tags)

word=shoe+running

Custom query string advanced examples

Filter products by category ID and price range

c=12345&price=10-20

Filter products by category ID, price range and network

c=12345&price=10-20&network=shareasale

Filter products by words and price

words=running+shoe&price=10-

Before You Upgrade

Version 3 is in BETA. Things might break.

Upgrading from V1 to V3 is NOT mandatory nor is there any urgency to do so. We will continue to support the V1 plugin, although we will not be adding new features to the plugin. The new Factory interface will contine to support Version 1 feed file downloads (Go to Store > Store Menu > Download Store > For Plugin Version 1.x). That file is in the correct format for the V1 plugin to process. We will continue to provide a link to the V1 file format for as long as there are still V1 stores.

We do, however, recommend that if you are creating a new store that you use Datafeedr Version 3 unless you desperately need one of the features that is not available in V3.

Things to keep in mind

  1. You need to upgrade your WordPress version to at least version 3.x.
  2. Product IDs & category IDs have ALL changed. If you have written any PHP logic into your site which analyzes IDs, those will fail.
  3. All category and product management has been moved out of the plugin and into the factory.
  4. Previously dripped products will be broken.  V3 does not support V1 dripped products in any way.
  5. We've revamped all widgets. Your widgets will need to be re-added to your sidebar.
  6. Unless great care is taken, your URLs will be changed, though they will all issue 301 redirect header messages to the search engines. (More info: http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=93633 )
  7. The Datafeedr V3 file format will not work with services having their own Datafeedr import feature such as ShopperPress,... until they update their services.
  8. We've updated our requirements: http://www.datafeedr.com/requirements/

Things that don't exist yet

  1. Tracking clickthroughs
  2. Tracking product views
  3. Adding custom products
  4. Specifying Redirect URL on 404's
  5. Attributes have been completely removed (and will not be added again)
  6. Embed product icon (DR icon) in post interface (it's possible to embed a product in post using [DFR] shortcodes)
  7. No Datafeedr Pages widget (will not be added again as it's easily reproducible using WP's menu system)

Things that will not be ported from V1 to V3

  1. Custom product names, descriptions and other manual product info edits
  2. Custom "no-image", "Buy Now" and "More Details" images
  3. Category images, descriptions
  4. New categories created through the Datafeedr V1 plugin interface
  5. Affiliate IDs
  6. V1 referrer tracking info
  7. Products that were dripped in V1 will be dripped again if drip is enabled in V3
  8. Custom pages

Upgrade: Version 1 to Version 3

Here is a short guide to help you upgrade your stores from Datafeedr version 1 to Datafeedr version 3. This guide assumes that you have built one or more stores with Datafeedr version 1.

We also have a video covering these details: http://www.datafeedr.com/docs/video_upgrade

Before you begin, make sure you have a backup of your entire site.  This includes all of your site's folders and files as well as your site's database.  You should have these backups so that you can revert if something goes unexpectedly.

  1. Locate Your Store in Factory V3
    All your Datafeedr version 1 stores have been imported into the new Factory V3 and are accessible via the left sidebar. Click on the store you want to upgrade. You will now be redirected to the admin area of your store.
  2. Configure Basic Store Settings
    Click in the Store menu on "Basic Store Settings". In the popup screen that appears put in your domain name in the domain name field and click save. No need to include http and/or www. You can just enter yourdomain.com
  3. Configure Affiliate IDs & Tracking Parameters
    Click in the Store menu on "Affiliate IDs & Tracking Parameters". There's no need to fill in the affiliate IDs for all networks. Just put in your affiliate IDs for the networks you're displaying products from and click save.
  4. Configure URL Settings
    Click in the Store menu on "URL Settings". If your store is set as the home page remove store from the "Front Page URL" field so the field is empty. The recommended value for "Legacy URL support" is Redirect. It will automatically redirect old Datafeedr version 1 URLs to the corresponding new Datafeedr version 3 URLs. If you choose "Full" the old Datafeedr version 1 URLs will still be valid and there will be a corresponding Datafeedr version 3 URL giving you 2 URLs for the same page possibly causing duplicate content issues. Configure your store URL settings and click save.
  5. Deactivate and Delete Datafeedr Version 1 Plugin
    In the plugins section of your site deactivate and delete the Datafeedr and Datafeedr Widgets plugins.
  6. Delete additional Datafeedr Version 1 Folders
    Using your FTP program, remove the dfr folder in the root of your WordPress installation and the wp-content/datafeedr folder. If you uploaded the datafeedr template files folder to your theme's folder, remove that folder as well.
  7. Install New Datafeedr Version 3 Plugin
    Download the new Datafeedr version 3 plugin here.

    Log into your blog's admin area and go to Plugins > Add New > Upload and upload the Datafeedr plugin .zip file: datafeedr_3_xx_xxxx.zip. After the Datafeedr plugin has been installed, activate the plugin. Detailed instructions are here. You can find the new WordPress Datafeedr admin area under the WordPress Tools section.
  8. Insert Connection Key
    You can find your connection key in the Factory in the top right hand corner of your store admin area. Copy the connection key and insert it into the Connection Key field in the WordPress Datafeedr admin area. Click save.
  9. Update Store
    Click the Update Store button to import all your store settings.

Category Lists

The Category List module accepts many different category related tags. Because of the nature of category lists (ie. complex hierarchical structure, opened and closed requirements, CSS requirements), setting up a category list that meets your needs can be a little tricky. So, I will introduce you to the allowable category tags, what they do and how to use them.

In the examples below, we will be working with the following categories:

Example 1:

[category.list before='<ul>' after='</ul>']
	<li>
		<a href="[category.link]" title="[category.name]">[category.name]</a>
		[category.repeat]
	</li>
[/category.list]

This is the most basic category displaying code you can provide. It produce the following HTML code:

<ul>
	<li><a href="http://site.com/store/category/appliances/" title="Appliances">Appliances</a> 
		<ul>
			<li><a href="http://site.com/store/category/stand-mixers/" title="Stand Mixers">Stand Mixers</a></li>
			<li><a href="http://site.com/store/category/blenders/" title="Blenders">Blenders</a></li>
			<li><a href="http://site.com/store/category/coffee/" title="Coffee">Coffee</a> 
				<ul>
					<li><a href="http://site.com/store/category/coffee-machines/" title="Coffee Machines">Coffee Machines</a></li>
					<li><a href="http://site.com/store/category/espress-machines/" title="Espress Machines">Espress Machines</a></li>
				</ul>
			</li>
		</ul>
	</li>
	<li><a href="http://site.com/store/category/kitchenware/" title="Kitchenware">Kitchenware</a> 
		<ul>
			<li><a href="http://site.com/store/category/utensils/" title="Utensils">Utensils</a></li>
			<li><a href="http://site.com/store/category/cookware-sets/" title="Cookware Sets">Cookware Sets</a></li>
		</ul>
	</li>
</ul>

I'll break it down, line by line:

[category.list before='<ul>' after='</ul>']

This signals the beginning of the category loop. We've set the category list to begin with <ul> and to end with </ul>.

<li>
	<a href="[category.link]" title="[category.name]">[category.name]</a>

These 2 lines format how each list item with be displayed. First we start the list item with <li> and then we insert the anchor tag which links to the category and it displays the category name as the anchor title and text.

[category.repeat]

This line handles all child loops. If we left this out of our code, the category list tag would only display parent categories and all child categories would be ignored. We need to include [category.repeat] to display all child categories and [category.repeat] needs to be placed between <li> and </li>. If it is placed outside of the "li" tags, your hierarchical unordered list will be broken and will not validate.

</li>

After [category.repeat], we close the list item tag.

[/category.list]

We close our category loop with this tag. This signifies the end of the loop. Anything placed outside of this loop will not appear within the unordered list. If your category loop does not contain this tag, you will get an error.

Example 2:

[category.list id='dfparent' before='<ul>' after='</ul>']
	<li>
		<a href="[category.link]" title="[category.name]">[category.name]</a>
		[category.list id='dfchild' before='<ol>' after='</ol>']
			<li>
				<a href="[category.link]" title="[category.name]">[category.name]</a>
				[category.repeat id='dfchild']
			</li>
		[/category.list]
	</li>
[/category.list]

This code generates a more complex list. Here's the output in HTML:

<ul>
	<li><a href="/store/category/appliances/" title="Appliances">Appliances</a> 
		<ol>
			<li><a href="/store/category/stand-mixers/" title="Stand Mixers">Stand Mixers</a></li>
			<li><a href="/store/category/blenders/" title="Blenders">Blenders</a></li>
			<li><a href="/store/category/coffee/" title="Coffee">Coffee</a> 
				<ol>
					<li><a href="/store/category/coffee-machines/" title="Coffee Machines">Coffee Machines</a></li>
					<li><a href="/store/category/espress-machines/" title="Espress Machines">Espress Machines</a></li>
				</ol>
			</li>
		</ol>
	</li>
	<li><a href="/store/category/kitchenware/" title="Kitchenware">Kitchenware</a> 
		<ol>
			<li><a href="/store/category/utensils/" title="Utensils">Utensils</a></li>
			<li><a href="/store/category/cookware-sets/" title="Cookware Sets">Cookware Sets</a></li>
		</ol>
	</li>
</ul>

If you notice, our parent list is an unordered (<ul>) list whereas the child lists are all ordered (<ol>) lists. This allows us to control how each level of the hierarchy is configured. Let's take each line and explain:

[category.list id='dfparent' before='<ul>' after='</ul>']

The only thing we've done different here is to add an ID to this parent list. This is not to be confused with a CSS ID. The ID in this category.list allows us to identify the format to use when a list gets repeat. More on that below.

	<li>
		<a href="[category.link]" title="[category.name]">[category.name]</a>

This is the same as our previous example.

[category.list id='dfchild' before='<ol>' after='</ol>']

This begins the format for all child lists. We've given it a different ID than its parent and we are also wrapping any child lists in ordered lists (<ol>) instead of unordered lists.

			<li>
				<a href="[category.link]" title="[category.name]">[category.name]</a>

This begins the list items for the child list.

[category.repeat id='dfchild']

In this category.repeat tag, we provide an ID. This means that whenever a child list of this list is generated, to use the format of the list with ID = "dfchild". So in this case, every time a child list is generated, it will be an ordered list (<ol>).

</li>

Close our child list item tag.

[/category.list]

Close our child list.

</li>

Close our parent list item tag.

[/category.list]

Close our parent list.

Now that we've covered formatting parent and child lists, let's look at some of the other tags that are available to use. The following conditional tags are available for checking the "activeness" of a category. Here are their usages as well as their definitions inside the tags:

[category.if active='self']
	display if THIS category is active
[/category.if]

[category.if active='child']
	display if one of the child categories of this category is active
[/category.if]

[category.if active='parent']
	display if one of the parent cats is active
[/category.if]

[category.if active='no']
	category is not in "activity chain"
[/category.if]

Finally we have a useful php tag that we can use: <?php echo $depth; ?>. $depth returns a number which reflects how deep into the category tree we are. In the following example, I will show how to use the last 4 "activeness" tags as well as the depth variable.

Example 3:

[category.list before='<ul class="level<?php echo $depth; ?>">' after='</ul>']

	[category.if active='self']
		<li class="active">
			[category.name]
			[category.repeat]
		</li>
	[/category.if]
	
	[category.if active='child']
		<li>
			<a href="[category.link]" title="[category.name]">[category.name]</a>  
			[category.repeat]
		</li>
	[/category.if]
	
	[category.if active='parent']
		<li>
			<a href="[category.link]" title="[category.name]">[category.name]</a>  
		</li>
	[/category.if]
	
	[category.if active='no']
		<li>
			<a href="[category.link]" title="[category.name]">[category.name]</a>
		</li>
	[/category.if]

[/category.list]

This is a dynamic list which expands to show only parent categories and 1 level deep of child categories if a child's parent category is active. So, when we are not in a category, this code will show 2 links: Appliances & Kitchenware, the 2 parent categories. If we dig all the way down into "Coffee Machines" we will get a menu that looks like this:

<ul class="level1">
	<li><a href="/store/category/appliances/" title="Appliances">Appliances</a> 
		<ul class="level2">
			<li><a href="/store/category/appliances/stand-mixers/" title="Stand Mixers">Stand Mixers</a></li>
			<li><a href="/store/category/appliances/blenders/" title="Blenders">Blenders</a></li>
			<li><a href="/store/category/appliances/coffee/" title="Coffee">Coffee</a> 
				<ul class="level3">
					<li class="active"> Coffee Machines</li>
					<li><a href="/store/category/appliances/coffee/espress-machines/" title="Espress Machines">Espress Machines</a></li>
				</ul>
			</li>
		</ul>
	</li>
	<li><a href="/store/category/kitchenware/" title="Kitchenware">Kitchenware</a></li>
</ul>

Notice that each list level has a class indicating the depth of the list. You can see classes: level1, level2 & level3. You can also see that that the "Coffee Machines" category does not contain a link but is marked with class="active". Below, I explain each part of the code that generated this dynamic menu.

[category.list before='<ul class="level<?php echo $depth; ?>">' after='</ul>']

Start the list. Give each list a CSS class that contains the depth of the list. So, each class will look like level1 or level2 or level3 and so on, depending on the depth of the list.

	[category.if active='self']
		<li class="active">
			[category.name]
			[category.repeat]
		</li>
	[/category.if]

Here, we have removed the anchor tag therefore if a category is active (ie. selected), it will not be linked. We've also given the <li> tag a class="active".

	[category.if active='child']
		<li>
			<a href="[category.link]" title="[category.name]">[category.name]</a>  
			[category.repeat]
		</li>
	[/category.if]

This conditional checks to see if one of the child categories of this category is active. If yes, show the category name and show the child list.

	[category.if active='parent']
		<li>
			<a href="[category.link]" title="[category.name]">[category.name]</a>  
		</li>
	[/category.if]

This displays if one of the parent categories is active.

	[category.if active='no']
		<li>
			<a href="[category.link]" title="[category.name]">[category.name]</a>
		</li>
	[/category.if]

This displays if it is not in the "activity chain".

[/category.list]

Close the list.

You also have 2 PHP variables that you can use in your category lists:

$depth - This is the number of the level you are at in your categories.

$nn - This is simply a counter variable, which increments by 1 for every category in your store.

Creating a Comparison Set

A comparison set allows you to display prices from multiple merchants for a single product. Below are the steps outlined to create a comparison for a single product.

Find the product you want to create a comparison on. Click the "create comparison set" link for that product.

From the comparison set building page, you will be able to search for and add additional products to this set by clicking the "add to comparison set" link.

Below I've added 4 products to this comparison set.

You can always get to comparison by expanding the COMPARISON SETS menu item in the sidebar and picking the product.

Now you need to add the comparison set HTML to your Product Details page.  Go to The Factory > Your Store > VIEWS > PRODUCT DETAIL > Default.  If you are creating multiple comparison sets, you only have to do this step one time.

Drag a Comparison set module to the module area. 

Click the template icon to expose the modules template area then click Template 1 from the snippets window.

Now after you have made your views changes, update your store by clicking [Update Products and Settings] then navigate to a product known to be in a comparison set.  Here's how it should look:

Default CSS Code

Below is the default CSS file that gets imported into your store when you do a store update.

/*******************************
LAYOUT
*******************************/
#view .modwrp {padding:0;margin:0;border:0;float:left;}
#view .col1 {width:99.9%;}
#view .col2 {width:49.9%;}
#view .col3 {width:33.3%;}
#view .col4 {width:24.9%;}
#view .col5 {width:19.9%;}
#view .modwrp .modcont {margin:0 10px 10px 0px;padding:5px;}

/*******************************
PRODUCT LISTING - T1
*******************************/
#view .pl .t1 {padding:0;margin:0 0 5px 0;border:0;float:left;}
#view .pl .t1 .bdr {border:1px #B3B3B3 solid;margin:0 5px 10px 5px;padding:2px;}
#view .pl .t1 .bdr .thmb {border:0;overflow:hidden;text-align:center;margin:5px auto;padding:0;}
#view .pl .t1 .bdr .thmb img {border:0; padding:0; margin:0; background-color:transparent;}
#view .pl .t1 .bdr .prc {text-align:center; margin:5px 0;}
#view .pl .t1 .bdr h2 {margin:0; padding:0; overflow:hidden; text-align:center; line-height:1.3em; height:2.6em;}
#view .pl .t1 .bdr h2 a {margin:0; display:block;} 
#view .pl .t1 .bdr .desc {overflow:hidden; height:6em; line-height:1.5em; margin:0 5px; padding:0;} 
#view .pl .t1 .bdr .btns {overflow:hidden; margin:0 0 5px 0; padding:5px 0; text-align:center;}
#view .pl .t1 .bdr .btns a img {border:0; margin:2px 0 0 0; padding:0; background-color:transparent;}

/*******************************
PRODUCT LISTING - T2
*******************************/
#view .pl .t2 {padding:0; margin:0; border:0; float:left;}
#view .pl .t2 .bdr {border:0px #f5f5f5 solid; margin:0 5px 10px 5px; padding:2px;}
#view .pl .t2 .bdr h2 {margin:0 0 5px 0; padding:0; overflow:hidden; line-height:1.3em; height:2.6em;}
#view .pl .t2 .bdr h2 a {margin:0; display:block;}
#view .pl .t2 .bdr .lc {height:100%; float:left; padding:0; margin:0 auto 0 auto; border:0;}
#view .pl .t2 .bdr .thmb {border:0; overflow:hidden; text-align:center; margin:5px auto; padding:0;}
#view .pl .t2 .bdr .thmb img {border:0; padding:0; margin:0; background-color:transparent;}
#view .pl .t2 .bdr .rc {display:inline-block;}
#view .pl .t2 .bdr .rc {display:block;}
#view .pl .t2 .bdr .desc {overflow:hidden; height:7.5em; line-height:1.5em; margin:0 0 5px 0; padding:0;}
#view .pl .t2 .bdr .prc_btns {width:100%; overflow:hidden;}
#view .pl .t2 .bdr table {width:100%; border-spacing:0; border:0; padding:5px 0;}
#view .pl .t2 .bdr td {vertical-align:middle; padding:5px;}
#view .pl .t2 .bdr td.prc {text-align:right; padding-right:2%;}
#view .pl .t2 .bdr td.btns {text-align:left; padding-left:2%;}
#view .pl .t2 .bdr td.btns a img {border:0; margin:2px 0 0 0; padding:0; background-color:transparent;}

/*******************************
PRODUCT LISTING - T3
*******************************/
#view .pl .t3 {padding:0; margin:0 0 10px 0; border:0; float:left;}
#view .pl .t3 .bdr {border-bottom:0px #f5f5f5 solid; margin:0 5px 10px 5px; padding:2px;}
#view .pl .t3 .bdr .lc {height:100%; float:left; padding:0; margin:0 auto 0 auto; border:0;}
#view .pl .t3 .bdr .thmb {border:0; overflow:hidden; text-align:center; margin:5px auto; padding:0;}
#view .pl .t3 .bdr .thmb img {border:0; padding:0; margin:0; background-color:transparent;}
#view .pl .t3 .bdr .prc {text-align:center; margin:5px 0 0 0;}
#view .pl .t3 .bdr .rc {display:inline-block;}
#view .pl .t3 .bdr .rc {display:block; padding:5px 0 0 0;}
#view .pl .t3 .bdr h2 {margin:0 0 5px 5px; padding:0; overflow:hidden; line-height:1.3em; height:2.6em;}
#view .pl .t3 .bdr h2 a {margin:0; display:block;}
#view .pl .t3 .bdr .desc {overflow:hidden; height:6em; line-height:1.5em; margin:0 10px 5px 5px; padding:0;}
#view .pl .t3 .bdr .btns {overflow:hidden; margin:0 0 5px 5px; padding:5px 0;}
#view .pl .t3 .bdr .btns a img {border:0; margin:2px 0 0 0; padding:0; background-color:transparent;}

/*******************************
SINGLE PRODUCT DETAILS
*******************************/
#view .sp {padding:0; margin:0 0 10px 0; border:0; width:100%;}
#view .sp .lc {float:left; padding:0; margin:0 auto 0 auto; border:0;}
#view .sp .thmb {border:0; text-align:center; margin:5px auto; padding:0;}
#view .sp .thmb img {border:0; padding:0; margin:0; background-color:transparent;}
#view .sp .prc {text-align:left; margin:5px 0 0 0;}
#view .sp h2 {margin:0 0 5px 0px; padding:0;}
#view .sp h2 a {margin:0; display:block;}
#view .sp .desc {margin:0 0px 5px 0px; padding:0;}
#view .sp .btns {margin:0 0 5px 0px; padding:5px 0;}
#view .sp .btns a img {border:0; margin:2px 0 0 0; padding:0; background-color:transparent;}
#view .sp .lc .thmb img {max-width:200px; width:expression(this.height < this.width && this.width > 200 ? '200px' :true);}
#view .sp .lc .thmb .thmb {width:200px;}
#view .sp .lc {width:210px;}
#view .sp .rc {margin-left:210px;	padding-left:10px;}

/******************************* 
EMBEDDED PRODUCT
*******************************/ 
.fl { float: left; width: 200px; }
.fr { float: right; width: 200px; }
.embedded .t1 { padding: 0; margin: 0 0 5px 0; border: 0; }
.embedded .t1 .bdr { border: 1px #B3B3B3 solid; margin: 0 5px 10px 5px; padding: 2px; height: 100%; }
.embedded .t1 .bdr .thmb { border: 0; overflow: hidden; text-align: center; margin: 5px auto; padding: 0; }
.embedded .t1 .bdr .thmb img { border: 0; padding: 0; margin: 0; background-color: transparent; }
.embedded .t1 .bdr .prc { text-align: center; margin: 5px 0; }
.embedded .t1 .bdr h2 { margin: 0; padding: 0; overflow: hidden; text-align: center; line-height: 1.3em; height: 2.6em; }
.embedded .t1 .bdr h2 a { margin: 0; display: block; }
.embedded .t1 .bdr .desc { overflow: hidden; height: 6em; line-height: 1.5em; margin: 0 5px; padding: 0; }
.embedded .t1 .bdr .btns { overflow: hidden; margin: 0 0 5px 0; padding: 5px 0; text-align: center; }
.embedded .t1 .bdr .btns a img { border: 0; margin: 2px 0 0 0; padding: 0; background-color: transparent; } 

/*******************************
150px IMAGE <img class="thmb1" />
*******************************/
.thmb1 { width: expression(this.height < this.width && this.width > 150 ? '150px' :true); height: expression(this.height > this.width && this.height > 150 ? '150px' :true); max-width: 150px; max-height: 150px; }

/*******************************
1 COLUMN IMAGE
*******************************/
#view .pl .col1 .thmb img {max-width:150px;max-height:150px;width:expression(this.height < this.width && this.width > 150 ? '150px' :true);height:expression(this.height > this.width && this.height > 150 ? '150px' :true);}
#view .pl .col1 .thmb {width:150px;height:160px;}
#view .pl .t3 .thmb img {max-width:150px;max-height:120px;width:expression(this.height < this.width && this.width > 150 ? '150px' :true);height:expression(this.height > this.width && this.height > 150 ? '150px' :true);}
#view .pl .t3 .thmb {width:150px;height:130px;}
#view .pl .col1 .lc {width:160px;}
#view .pl .col1 .rc {margin:0 0 0 165px;}

/*******************************
2 COLUMN IMAGE
*******************************/
#view .pl .col2 .thmb img {max-width:120px;max-height:120px;width:expression(this.height < this.width && this.width > 120 ? '120px' :true);height:expression(this.height > this.width && this.height > 120 ? '120px' :true);}
#view .pl .col2 .thmb {width:120px;height:130px;}
#view .pl .col2 .lc {width:130px;}
#view .pl .col2 .rc {margin:0 0 0 135px;}

/*******************************
3 COLUMN IMAGE
*******************************/
#view .pl .col3 .thmb img {max-width:100px;max-height:100px;width:expression(this.height < this.width && this.width > 100 ? '100px' :true);height:expression(this.height > this.width && this.height > 100 ? '100px' :true);}
#view .pl .col3 .thmb {width:100px;height:110px;}
#view .pl .col3 .lc {width:110px;}
#view .pl .col3 .rc {margin:0 0 0 115px;}

/*******************************
4 COLUMN IMAGE
*******************************/
#view .pl .col4 .thmb img {max-width:75px; max-height:75px;width:expression(this.height < this.width && this.width > 75 ? '75px' :true);height:expression(this.height > this.width && this.height > 75 ? '75px' :true);}
#view .pl .col4 .thmb {width:75px;height:85px;}
#view .pl .col4 .lc {width:85px;}
#view .pl .col4 .rc {margin:0 0 0 90px;}

/*******************************
CATEGORY LISTING
*******************************/
#view .cl .cell {padding:0; margin:0 0 5px 0; border:0; float:left; }
#view .cl .cell .bdr {border:0px #B3B3B3 solid; margin:0 5px 5px 5px; padding:2px; background-color:transparent; float:left; overflow:hidden; }
#view .cl .cell .bdr .catdesc {height: 4.8em; line-height: 1.2em}

/*******************************
SEARCH
*******************************/
#view .srchform label {display:block; text-align:left;}
#view .srchform input {display:block; text-align:left;}

/*******************************
SORT/PPP FILTERS
*******************************/
#view .dffltrs {border: 1px #E6E6E6 solid; margin: 10px 0;}
#view .dffltrs form {background-color: #f5f5f5;padding: 5px;margin: 1px;}
#view .dffltrs .dflside {float: left;}
#view .dffltrs .dfrside {float: right;}

/*******************************
PAGER
*******************************/
#view .pgr {margin:10px 0; }
#view .pgr span {font-weight:bold; }
#view .pgr a {text-decoration:none; }
#view .pgr img {vertical-align:middle; border:0; margin:0 4px; }

/*******************************
PRODUCT TITLES - ALL TEMPLATES
*******************************/
#view .pl h2,  #view .pl h2 a, #wdgt_pl .pl .bdr h2, #wdgt_pl .pl .bdr h2 a {font-size:12px;}

/*******************************
WIDGET PRODUCT LISTING
*******************************/
#wdgt_pl .pl {padding: 0; margin: 0 0 5px 0; border: 0; width: 100%;}
#wdgt_pl .pl .bdr {border: 1px #B3B3B3 solid; margin: 0 0 10px 0; padding: 2px;}
#wdgt_pl .pl .bdr .thmb {border: 0; overflow: hidden; text-align: center; margin: 5px auto; padding: 0;}
#wdgt_pl .pl .bdr .thmb img {border: 0; padding: 0; margin: 0; background-color: transparent;}
#wdgt_pl .pl .bdr .prc {text-align: center; margin: 5px 0;}
#wdgt_pl .pl .bdr h2 {margin: 0; padding: 0; text-align: center; line-height: 1.3em;}
#wdgt_pl .pl .bdr h2 a {margin: 0; display: block;}
#wdgt_pl .pl .bdr .desc {line-height: 1.5em; margin: 0 5px; padding: 0;}
#wdgt_pl .pl .bdr .btns {margin: 0 0 5px 0; padding: 5px 0; text-align: center;}
#wdgt_pl .pl .bdr .btns a img {border: 0; margin: 2px 0 0 0; padding: 0; background-color: transparent;}
#wdgt_pl .pl .bdr .thmb {width: 150px;}
#wdgt_pl .pl .bdr .thmb img {max-width: 150px; width: expression(this.height < this.width && this.width > 150 ? '150px' : true);}

/*******************************
WIDGET CATEGORY LISTING
*******************************/
#wdgt_cl {}

/*******************************
WIDGET SIMPLE SERARCH
*******************************/
#wdgt_ss {}

/*******************************
WIDGET ADVANCED SERARCH
*******************************/
#wdgt_as {}
#wdgt_as input {display: block;}

/*******************************
Buttons (Credit:http://www.webdesignerwall.com/tutorials/css3-gradient-buttons/)
*******************************/
.dfbutton { display: inline-block !important; zoom: 1 !important; *display: inline !important; vertical-align: baseline !important; margin: 0 2px 4px 2px !important; outline: none !important; cursor: pointer !important; text-align: center !important; text-decoration: none !important; font: 12px/100% Arial, Helvetica, sans-serif !important; padding: .4em 1.5em .42em !important; text-shadow: 0 1px 1px rgba(0,0,0,.3) !important; -webkit-border-radius: .5em !important; -moz-border-radius: .5em !important; border-radius: .5em !important; -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.2) !important; -moz-box-shadow: 0 1px 2px rgba(0,0,0,.2) !important; box-shadow: 0 1px 2px rgba(0,0,0,.2) !important; white-space: nowrap !important; }
.dfbutton:hover { text-decoration: none !important; }
.dfbutton:active { position: relative !important; top: 1px !important; }

.dflarge { font-size: 14px !important; padding: .5em 2em .55em !important; }
.dfmedium { font-size: 12px !important; padding: .4em 1.5em .42em !important; }
.dfsmall { font-size: 11px !important; padding: .2em 1em .275em !important; }
.dfrounded { -webkit-border-radius: 2em !important; -moz-border-radius: 2em !important; border-radius: 2em !important; }

/****** black ******/
.dfblack:link, .dfblack:visited { color: #d7d7d7 !important; border: solid 1px #333 !important; background: #333 !important; background: -webkit-gradient(linear, left top, left bottom, from(#666), to(#000)) !important; background: -moz-linear-gradient(top, #666, #000) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#666666', endColorstr='#000000') !important; }
.dfblack:hover { color: #d7d7d7 !important; background: #000 !important; background: -webkit-gradient(linear, left top, left bottom, from(#444), to(#000)) !important; background: -moz-linear-gradient(top, #444, #000) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#444444', endColorstr='#000000') !important; }
.dfblack:active { color: #666 !important; background: -webkit-gradient(linear, left top, left bottom, from(#000), to(#444)) !important; background: -moz-linear-gradient(top, #000, #444) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#000000', endColorstr='#666666') !important; }

/****** gray ******/
.dfgray:link, .dfgray:visited { color: #e9e9e9 !important; border: solid 1px #555 !important; background: #6e6e6e !important; background: -webkit-gradient(linear, left top, left bottom, from(#888), to(#575757)) !important; background: -moz-linear-gradient(top, #888, #575757) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#888888', endColorstr='#575757') !important; }
.dfgray:hover { color: #e9e9e9 !important; background: #616161 !important; background: -webkit-gradient(linear, left top, left bottom, from(#757575), to(#4b4b4b)) !important; background: -moz-linear-gradient(top, #757575, #4b4b4b) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#757575', endColorstr='#4b4b4b') !important; }
.dfgray:active { color: #afafaf !important; background: -webkit-gradient(linear, left top, left bottom, from(#575757), to(#888)) !important; background: -moz-linear-gradient(top, #575757, #888) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#575757', endColorstr='#888888') !important; }

/****** white ******/
.dfwhite:link, .dfwhite:visited { color: #606060 !important; border: solid 1px #b7b7b7 !important; background: #fff !important; background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#ededed)) !important; background: -moz-linear-gradient(top, #fff, #ededed) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#ededed') !important; }
.dfwhite:hover { color: #606060 !important; background: #ededed !important; background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#dcdcdc)) !important; background: -moz-linear-gradient(top, #fff, #dcdcdc) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#dcdcdc') !important; }
.dfwhite:active { color: #999 !important; background: -webkit-gradient(linear, left top, left bottom, from(#ededed), to(#fff)) !important; background: -moz-linear-gradient(top, #ededed, #fff) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed', endColorstr='#ffffff') !important; }

/****** orange ******/
.dforange:link, .dforange:visited { color: #fef4e9 !important; border: solid 1px #da7c0c !important; background: #f78d1d !important; background: -webkit-gradient(linear, left top, left bottom, from(#faa51a), to(#f47a20)) !important; background: -moz-linear-gradient(top, #faa51a, #f47a20) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#faa51a', endColorstr='#f47a20') !important; }
.dforange:hover { color: #fef4e9 !important; background: #f47c20 !important; background: -webkit-gradient(linear, left top, left bottom, from(#f88e11), to(#f06015)) !important; background: -moz-linear-gradient(top, #f88e11, #f06015) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f88e11', endColorstr='#f06015') !important; }
.dforange:active { color: #fcd3a5 !important; background: -webkit-gradient(linear, left top, left bottom, from(#f47a20), to(#faa51a)) !important; background: -moz-linear-gradient(top, #f47a20, #faa51a) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f47a20', endColorstr='#faa51a') !important; }

/****** red ******/
.dfred:link, .dfred:visited { color: #faddde !important; border: solid 1px #980c10 !important; background: #d81b21 !important; background: -webkit-gradient(linear, left top, left bottom, from(#ed1c24), to(#aa1317)) !important; background: -moz-linear-gradient(top, #ed1c24, #aa1317) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ed1c24', endColorstr='#aa1317') !important; }
.dfred:hover { color: #faddde !important; background: #b61318 !important; background: -webkit-gradient(linear, left top, left bottom, from(#c9151b), to(#a11115)) !important; background: -moz-linear-gradient(top, #c9151b, #a11115) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#c9151b', endColorstr='#a11115') !important; }
.dfred:active { color: #de898c !important; background: -webkit-gradient(linear, left top, left bottom, from(#aa1317), to(#ed1c24)) !important; background: -moz-linear-gradient(top, #aa1317, #ed1c24) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#aa1317', endColorstr='#ed1c24') !important; }

/****** blue ******/
.dfblue:link, .dfblue:visited { color: #d9eef7 !important; border: solid 1px #0076a3 !important; background: #0095cd !important; background: -webkit-gradient(linear, left top, left bottom, from(#00adee), to(#0078a5)) !important; background: -moz-linear-gradient(top, #00adee, #0078a5) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00adee', endColorstr='#0078a5') !important; }
.dfblue:hover { color: #d9eef7 !important; background: #007ead !important; background: -webkit-gradient(linear, left top, left bottom, from(#0095cc), to(#00678e)) !important; background: -moz-linear-gradient(top, #0095cc, #00678e) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0095cc', endColorstr='#00678e') !important; }
.dfblue:active { color: #80bed6 !important; background: -webkit-gradient(linear, left top, left bottom, from(#0078a5), to(#00adee)) !important; background: -moz-linear-gradient(top, #0078a5, #00adee) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0078a5', endColorstr='#00adee') !important; }

/****** rosy ******/
.dfrosy:link, .dfrosy:visited { color: #fae7e9 !important; border: solid 1px #b73948 !important; background: #da5867 !important; background: -webkit-gradient(linear, left top, left bottom, from(#f16c7c), to(#bf404f)) !important; background: -moz-linear-gradient(top, #f16c7c, #bf404f) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f16c7c', endColorstr='#bf404f') !important; }
.dfrosy:hover { color: #fae7e9 !important; background: #ba4b58 !important; background: -webkit-gradient(linear, left top, left bottom, from(#cf5d6a), to(#a53845)) !important; background: -moz-linear-gradient(top, #cf5d6a, #a53845) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cf5d6a', endColorstr='#a53845') !important; }
.dfrosy:active { color: #dca4ab !important; background: -webkit-gradient(linear, left top, left bottom, from(#bf404f), to(#f16c7c)) !important; background: -moz-linear-gradient(top, #bf404f, #f16c7c) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#bf404f', endColorstr='#f16c7c') !important; }

/****** green ******/
.dfgreen:link, .dfgreen:visited { color: #e8f0de !important; border: solid 1px #538312 !important; background: #64991e !important; background: -webkit-gradient(linear, left top, left bottom, from(#7db72f), to(#4e7d0e)) !important; background: -moz-linear-gradient(top, #7db72f, #4e7d0e) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#7db72f', endColorstr='#4e7d0e') !important; }
.dfgreen:hover { color: #e8f0de !important; background: #538018 !important; background: -webkit-gradient(linear, left top, left bottom, from(#6b9d28), to(#436b0c)) !important; background: -moz-linear-gradient(top, #6b9d28, #436b0c) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#6b9d28', endColorstr='#436b0c') !important; }
.dfgreen:active { color: #a9c08c !important; background: -webkit-gradient(linear, left top, left bottom, from(#4e7d0e), to(#7db72f)) !important; background: -moz-linear-gradient(top, #4e7d0e, #7db72f) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#4e7d0e', endColorstr='#7db72f') !important; }

/****** pink ******/
.dfpink:link, .dfpink:visited { color: #feeef5 !important; border: solid 1px #d2729e !important; background: #f895c2 !important; background: -webkit-gradient(linear, left top, left bottom, from(#feb1d3), to(#f171ab)) !important; background: -moz-linear-gradient(top, #feb1d3, #f171ab) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#feb1d3', endColorstr='#f171ab') !important; }
.dfpink:hover { color: #feeef5 !important; background: #d57ea5 !important; background: -webkit-gradient(linear, left top, left bottom, from(#f4aacb), to(#e86ca4)) !important; background: -moz-linear-gradient(top, #f4aacb, #e86ca4) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f4aacb', endColorstr='#e86ca4') !important; }
.dfpink:active { color: #f3c3d9 !important; background: -webkit-gradient(linear, left top, left bottom, from(#f171ab), to(#feb1d3)) !important; background: -moz-linear-gradient(top, #f171ab, #feb1d3) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f171ab', endColorstr='#feb1d3') !important; }

/******  brown ******/
.dfbrown:link, .dfbrown:visited { color: #feeef5 !important; border: solid 1px #462709 !important; background: #804000 !important; background: -webkit-gradient(linear, left top, left bottom, from(#995414), to(#522D0B)) !important; background: -moz-linear-gradient(top, #995414, #522D0B) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#995414', endColorstr='#522D0B') !important; }
.dfbrown:hover { color: #feeef5 !important; background: #d57ea5 !important; background: -webkit-gradient(linear, left top, left bottom, from(#89521B), to(#472A0E)) !important; background: -moz-linear-gradient(top, #89521B, #472A0E) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#89521B', endColorstr='#472A0E') !important; }
.dfbrown:active { color: #DBC4A8 !important; background: -webkit-gradient(linear, left top, left bottom, from(#522D0B), to(#995414)) !important; background: -moz-linear-gradient(top, #522D0B, #995414) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#522D0B', endColorstr='#995414') !important; }

/****** purple ******/
.dfpurple:link, .dfpurple:visited { color: #feeef5 !important; border: solid 1px #380821 !important; background: #4F0B2E !important; background: -webkit-gradient(linear, left top, left bottom, from(#932162), to(#500C2E)) !important; background: -moz-linear-gradient(top, #932162, #500C2E) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#932162', endColorstr='#500C2E') !important; }
.dfpurple:hover { color: #feeef5 !important; background: #d57ea5 !important; background: -webkit-gradient(linear, left top, left bottom, from(#7F265F), to(#420F2B)) !important; background: -moz-linear-gradient(top, #7F265F, #420F2B) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#7F265F', endColorstr='#420F2B') !important; } 
.dfpurple:active { color: #B28EA5 !important; background: -webkit-gradient(linear, left top, left bottom, from(#500C2E), to(#932162)) !important; background: -moz-linear-gradient(top, #500C2E, #932162) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#500C2E', endColorstr='#932162') !important; } 

/****** silver ******/
.dfsilver:link, .dfsilver:visited { color: #262626 !important; border: solid 1px #989898 !important; background: #CCC !important; background: -webkit-gradient(linear, left top, left bottom, from(#F2F2F2), to(#A6A6A6)) !important; background: -moz-linear-gradient(top, #F2F2F2, #A6A6A6) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F2F2F2', endColorstr='#A6A6A6') !important; }
.dfsilver:hover { color: #262626 !important;  background: #d57ea5 !important; background: -webkit-gradient(linear, left top, left bottom, from(#E8E8E8), to(#9F9F9F)) !important; background: -moz-linear-gradient(top, #E8E8E8, #9F9F9F) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#E8E8E8', endColorstr='#9F9F9F') !important; } 
.dfsilver:active { color: #808080 !important; background: -webkit-gradient(linear, left top, left bottom, from(#A6A6A6), to(#F2F2F2)) !important; background: -moz-linear-gradient(top, #A6A6A6, #F2F2F2) !important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#A6A6A6', endColorstr='#F2F2F2') !important; } 

/**********************************************
http://www.positioniseverything.net/easyclearing.html
**********************************************/
.clearfix:after {clear:both; content:'.'; display:block; visibility:hidden; height:0;} 
.clearfix {display:inline-block; } 
* html .clearfix {height:1%; } 
.clearfix {display:block; } 
.clearingdiv {clear:left; font-size:0; line-height:0; margin:0; padding:0; }

/*******************************
CUSTOM CSS
*******************************/

/* all custom css code will appear here */

Embedding a Product in a Post

If you want to display a product in a post, this is possible by creating a new view and embedding that view into the post. Here's how.

  1. Create a new Custom View.  Name it something like Embedded Product. Give the view the following settings in View Properties:
  2. Add a Product detail module to this view.
  3. Add the following code to the template area of the Product detail module:
    <div class="embedded fl">
    	<div class="t1">
    		<div class="bdr">
    			<h2><a href="[product.link]" title="[product.name]">[product.name]</a></h2>
    			<div class="thmb">
    				<a href="[product.link]" title="[product.name]"> <img alt="[product.name]" class="thmb1" src="[product.image]" /></a>
    			</div>
    			<div class="prc">
    				[product.currency mode="sign"][product.price]
    			</div>
    			<div class="btns">
    				<a class="dfbutton dforange dfmedium" href="[product.link]" title="View details [product.name]">Details</a> 
    				<a class="dfbutton dforange dfmedium" href="[product.url direct='0']" title="Buy [product.name]">Buy</a>
    			</div>
    			<div class="clearingdiv">   </div>
    		</div>
    	</div>
    	<div class="clearingdiv">   </div>
    </div>
  4. Update your store's settings here: WordPress Admin Area > Tools > Datafeedr.
  5. To add this view to a specific post, add this shortcode to your post where 123456 is the product's ID you want to embed. [DFR:Embedded Product?p=123456]

Embedding a View in a Post

There may be times when you want to display content from your store within a WordPress Post or Page.  This can be handled by setting up a custom view and then adding a [DFR] tag to your WordPress Post or Page.

In the example below, I will embed a comparison set of a specific product into a Post I wrote about that product.

  1. First you need to create the custom view which will display your comparison set.  In the sidebar, expand the "VIEWS" menu and then expand the "CUSTOM VIEWS" menu. Under the "CUSTOM VIEWS" menu click the "Add a new view" link. Fill in the view details like this:
  2. Now that your view is created, drag the 'Comparison set' module into the module area.
  3. Click the 'Template' icon to configure the module's layout. You will need to add some code to display the comparison set.  You can use Template 1 from the Comparison Sets snippets. Here's an example:
  4. Click the 'Settings' icon to configure the module's settings. You can change the sorting settings to your liking:
  5. Create a comparison set.  Find a product in the store, click the link for that product which reads, "Create a comparison set".  I've set up a comparison set with 3 products:
  6. Get the product ID for one of the products in your comparison set. To get the product ID for one of the products, click the "more info" link for one of those products and the product ID will appear in the upper left corner of the pop up window.
  7. Log into your blog's admin area and update your store by going to Tools > Datafeedr > [Update Store]
  8. Create or edit a post. Add the following tag to where you want your comparison set to appear: [DFR:Embeddable Comp Set?p=194700040367954]. 194700040367954 is the product ID.  You will need to use the product ID which you gathered in the previous step. Here's what that will look like:
  9. Now when you go to that post, it should look something like this:

IMPORTANT: As an alternative you can now use the compset ID in the shortcode to prevent problems like this.

A new DFR tag is now available in order to prevent your compsets from disappearing once the master product is no longer available in our database.

Instead of referring to the product ID of the master product you can now directly refer to the compset ID which you can find in the Factory.

The new shortcode: [DFR:compset?compset_id=xxxxx]

- Replace compset with the name of the view.

- Replace xxxxx with the compset ID. 

When you use this shortcode and a master product is no longer available, the plugin will make the first of compset products a master.

Filters

With the following Datafeedr tag used in your views, you can create URLs to be used to filter a list of products. In conjunction with Widget Context, a free plugin which displays specific widgets on specific pages, a lot of cool things can be done.

In the examples below, we are assuming the page we are viewing (ie. our current URL) is http://www.mysite.com/store/category/shoes/. So, every filter we set up will be filtering the products in the "Shoes" category. We can apply filters to almost every page in our store; front page, category pages, custom pages and search pages. Filters really don't make sense on single product pages as there is nothing to filter... So, in the next few examples, you can assume that the filters we create will be applied to our current URL.

First, let me introduce the primary tag involved in creating a filtering URL:

[server.url type='fullpage' query='']

As is, this will simply return the full URL of the current page.

Example: http://www.mysite.com/store/category/shoes/

What we really need to do is append the URL with some parameters.

[server.url type='fullpage' query='price=150-300']

Now we have filled in the query attribute with a Key=Value parameter. Now this tag returns the current URL with the price filter. Example:

http://www.mysite.com/store/category/shoes/?price=150-300

Here are a few different examples of other Key=Value parameters you could use in this tag instead of the Price Key.:

[server.url type='fullpage' query='brand=Nike']
[server.url type='fullpage' query='merchant=Cooking.com']
[server.url type='fullpage' query='name=shoe']
[server.url type='fullpage' query='word=brown']
[server.url type='fullpage' query='tags=foo']
[server.url type='fullpage' query='tags=foo+bar']
[server.url type='fullpage' query='saleprice=5-10']

You can also have multiple Key=Value parameters within your query attribute:

[server.url type='fullpage' query='merchant=Cooking.com&price=20-40&word=black']

Now that we have the basics down, there are a few more tweaks we can make to the tag to give us more options:

In the previous examples, the Key=Value parameters were added unconditionally to the query string, replacing any Value that had a matching Key. For example, if a user was on this page:

http://www.mysite.com/store/category/shoes/?brand=Coke

and then clicked the URL generated by this tag:

[server.url type='fullpage' query='brand=Pepsi']

They would be taken to this URL:

http://www.mysite.com/store/category/shoes/?brand=Pepsi

But there might be times when you want to ensure that when one Key is set, that it cannot be overwritten. For example:

If a user is on this page:
http://www.mysite.com/store/category/shoes/?brand=Coke

This tag should not give them an option to view the Pepsi pages:

[server.url type='fullpage' query='brand=Pepsi']

We can do that by adding a "+" to the Key value in the query attribute.

[server.url type='fullpage' query='+brand=Pepsi']
[server.url type='fullpage' query='+brand=Coke']
[server.url type='fullpage' query='+brand=7up']

This reads, "Only append the URL with the brand parameter if the brand parameter is not already set. If the brand parameter is already set, do not modify its value".

The last operator we can use is the "-" minus sign. This is useful for giving a user the option to remove a filter:

[server.url type='fullpage' query='-brand']

This generates a URL that removes the brand parameter. This is useful if your user needs to reset their filter and remove any brand filter from their search.

You can also set up a tag that would allow the user to remove many filters at one time:

[server.url type='fullpage' query='-brand&-price&-merchant']

Below are some examples of actually using the Filters within a Widget View:

Example 1

<ul>
	<li><a href="[server.url type='fullpage' query='price=-50']">Less than $50</a></li>
	<li><a href="[server.url type='fullpage' query='price=50-150']">$50 ~ $150</a></li>
	<li><a href="[server.url type='fullpage' query='price=150-300']">$150 ~ $300</a></li>
	<li><a href="[server.url type='fullpage' query='price=300-']">More than $300</a></li>
</ul>

Example 2

This example will remove all filters if a filter has already been clicked and give the user to remove the Brand filter which is in place.

<ul>

	<?php if (@$_GET['brand']) { ?>
		<li><a href="[server.url type='fullpage' query='-brand']">[X] Remove Brand Filter</a></li>
	<?php } else { ?>
		<li><a href="[server.url type='fullpage' query='brand=Adidas']">Adidas</a></li>
		<li><a href="[server.url type='fullpage' query='brand=Nike']">Nike</a></li>
		<li><a href="[server.url type='fullpage' query='brand=Reebok']">Reebok</a></li>
	<?php } ?>

</ul>

Images

Please use the links below to learn how to manipulate the size of images for different areas of your store.

Product Details Page

If you want to change the size of the image that appears on the single product details page, you will be working with this CSS code:

#view .sp .rc
{
	margin-left: 210px;
	padding-left: 10px;
}
#view .sp .lc .thmb { width: 200px; }
#view .sp .lc .thmb img
{
	max-width: 200px;
	width: expression(this.height < this.width && this.width > 200px ? '200px' :true);
}

Let's say you want to increase the size of the image by 85px. Here's what the edited code would look like:

#view .sp .rc
{
	margin-left: 295px;
	padding-left: 10px;
}
#view .sp .lc .thmb { width: 285px; }
#view .sp .lc .thmb img
{
	max-width: 285px;
	width: expression(this.height < this.width && this.width > 285px ? '285px' :true);
}

Paste the updated code into the Custom CSS field for your store (Factory > Store menu > Custom CSS) then update your store.

Product Fields

[product.id] => Product ID

[product.net_id] => Affiliate Network ID

[product.net_code] => Affiliate Network Code (for internal purposes)

[product.network] => Affiliate Network Name

[product.merchant_id] => Merchant ID

[product.merchant] => Merchant Name

[product.name] => Product Name

[product.slug] => Product Slug

[product.description] => Product Description

[product.price] => Product Price

[product.image] => Product Image

[product.thumbnail] => Product Thumbnail

[product.url] => Cloaked Product Affiliate URL

[product.link] => Product Detail Page URL

[product.tags] => Product Tags

[product.saleprice] => Product Sale Price

[product.brand] => Product Brand

[product.currency] => Product Currency

[product.sku] => Product SKU

[product.model] => Product Model Number

[product.ean] => Product EAN

[product.isbn] => Product ISBN

[product.shipprice] => Product Shipping Information

[product.promo] => Product Promotional Text

[product.specs] => Product Specifications

[product.cat_id] => Product Category ID

[product.visible] => Product Visibility

[product.legacy_id] => Product Legacy ID

[product.drip_ts] => Product Drip Status

Sorting Filters

The following values can be used in your custom query strings to effect the order in which products are displayed.

sort=name - Sorts products in alphabetical order.

sort=price - Sorts products from lowest price to highest price.

sort=-price - Sorts products from highest price to lowest price.

sort=views - Sorts products from least views to most views.

sort=-views - Sorts products from most views to least views.

sort=clicks - Sorts products from least clickthroughs to most clickthroughs.

sort=-clicks - Sorts products from most clickthroughs to least clickthroughs.

sort=rand - Sorts products randomly.

[DFR] Shortcode

The [DFR] shortcode allows you to embed a view directly into a WordPress Post or Page. Some examples of this are covered here and here. Below you can find possible embedding formats.

Embed the store's front page into a post or page.

[DFR:home]

Embed a custom view into a post or page where custom view's name is "My View".

[DFR:My View]

Embed a custom view into a post or page where custom view's name is "Get Products" and filter by keyword "shoes".

[DFR:Get Products?word=shoes]

Embed a Widget view into a post or page. This example displays a widget named "My Custom Widget". Note that the name passed into the widget shortcode should be all lowercase and words separated by dashes.

[DFR:widget/my-custom-widget]

Embed a list of sub-categories of a parent category (parent ID is 425586) from a view named "Category List".

[DFR:Category List?c=425586]

Embed the Category Page view into a post or page where the Category ID is "517931". Pagination will not work in this instance.

[DFR:category?c=517931]

Embed the Search Page view into a post or page with results returning a query on the word "coffee". Pagination will not work in this instance.

[DFR:search?word=coffee]

Embed the Product Detail Page view into a post or page for a single product with product ID "55700079129891".

[DFR:product?p=55700079129891]

Embed a view named "Related Products" and only return products from the current category. %ci returns the current category the user is viewing.

[DFR:Related Products?c=%ci]

All of the code above can also be used by being called directly from your theme's template files using the datafeedr_tag() function. This tag can either be printed to the screen or stored as a variable for further processing like so:

<?php echo datafeedr_tag('Related Products?c=%ci'); ?>
<?php $shoes = datafeedr_tag('Related Products?c=%ci'); ?>

Below are examples of all above examples used with the datafeedr_tag() function:

<?php echo datafeedr_tag('home'); ?>
<?php echo datafeedr_tag('My View'); ?>
<?php echo datafeedr_tag('widget/my-custom-widget'); ?>
<?php echo datafeedr_tag('Get Products?word=shoes'); ?>
<?php echo datafeedr_tag('Category List?c=425586'); ?>
<?php echo datafeedr_tag('category?c=517931'); ?>
<?php echo datafeedr_tag('search?word=coffee'); ?>
<?php echo datafeedr_tag('product?p=55700079129891'); ?>

Here's a list of all available Query String parameters.

Datafeedr © Copyright 2008 ~ 2019