One of the best public sources is the business section of your public, or local college or university, library. The services provided vary from library to library but usually include a wide range of government publications with market statistics, a large collection of directories with information on domestic and foreign businesses, and a wide selection of magazines, newspapers and newsletters.
The General Data Protection Regulation (GDPR), which took effect on May 25, 2018, is a set of regulations governing the use of personal data across the EU. This is forcing some affiliates to obtain user data through opt-in consent (updated privacy policies and cookie notices), even if they are not located in the European Union. This new regulation should also remind you to follow FTC guidelines and clearly disclose that you receive affiliate commissions from your recommendations.

!function(n,t){function r(e,n){return Object.prototype.hasOwnProperty.call(e,n)}function o(e){return void 0===e}if(n){var i={},s=n.TraceKit,u=[].slice,l="?";i.noConflict=function(){return n.TraceKit=s,i},i.wrap=function(e){function n(){try{return e.apply(this,arguments)}catch(e){throw i.report(e),e}}return n},i.report=function(){function e(e){l(),h.push(e)}function t(e){for(var n=h.length-1;n>=0;--n)h[n]===e&&h.splice(n,1)}function o(e,n){var t=null;if(!n||i.collectWindowErrors){for(var o in h)if(r(h,o))try{h[o].apply(null,[e].concat(u.call(arguments,2)))}catch(e){t=e}if(t)throw t}}function s(e,n,t,r,s){var u=null;if(y)i.computeStackTrace.augmentStackTraceWithInitialElement(y,n,t,e),a();else if(s)u=i.computeStackTrace(s),o(u,!0);else{var l={url:n,line:t,column:r};l.func=i.computeStackTrace.guessFunctionName(l.url,l.line),l.context=i.computeStackTrace.gatherContext(l.url,l.line),u={mode:"onerror",message:e,stack:[l]},o(u,!0)}return!!f&&f.apply(this,arguments)}function l(){!0!==p&&(f=n.onerror,n.onerror=s,p=!0)}function a(){var e=y,n=d;d=null,y=null,m=null,o.apply(null,[e,!1].concat(n))}function c(e){if(y){if(m===e)return;a()}var t=i.computeStackTrace(e);throw y=t,m=e,d=u.call(arguments,1),n.setTimeout(function(){m===e&&a()},t.incomplete?2e3:0),e}var f,p,h=[],d=null,m=null,y=null;return c.subscribe=e,c.unsubscribe=t,c}(),i.computeStackTrace=function(){function e(e){if(!i.remoteFetching)return"";try{var t=function(){try{return new n.XMLHttpRequest}catch(e){return new n.ActiveXObject("Microsoft.XMLHTTP")}},r=t();return r.open("GET",e,!1),r.send(""),r.responseText}catch(e){return""}}function t(t){if("string"!=typeof t)return[];if(!r(x,t)){var o="",i="";try{i=n.document.domain}catch(e){}var s=/(.*)\:\/\/([^:\/]+)([:\d]*)\/{0,1}([\s\S]*)/.exec(t);s&&s[2]===i&&(o=e(t)),x[t]=o?o.split("\n"):[]}return x[t]}function s(e,n){var r,i=/function ([^(]*)\(([^)]*)\)/,s=/['"]?([0-9A-Za-z$_]+)['"]?\s*[:=]\s*(function|eval|new Function)/,u="",a=10,c=t(e);if(!c.length)return l;for(var f=0;f0?s:null}function a(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#]/g,"\\$&")}function c(e){return a(e).replace("<","(?:<|<)").replace(">","(?:>|>)").replace("&","(?:&|&)").replace('"','(?:"|")').replace(/\s+/g,"\\s+")}function f(e,n){for(var r,o,i=0,s=n.length;ir&&(o=s.exec(i[r]))?o.index:null}function h(e){if(!o(n&&n.document)){for(var t,r,i,s,u=[n.location.href],l=n.document.getElementsByTagName("script"),p=""+e,h=/^function(?:\s+([\w$]+))?\s*\(([\w\s,]*)\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,d=/^function on([\w$]+)\s*\(event\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,m=0;m]+)>|([^\)]+))\((.*)\))? in (.*):\s*$/i,i=n.split("\n"),l=[],a=0;a=0&&(g.line=v+j.substring(0,x).split("\n").length)}}}else if(i=p.exec(o[w])){var _=n.location.href.replace(/#.*$/,""),T=new RegExp(c(o[w+1])),E=f(T,[_]);g={url:_,func:"",args:[],line:E?E.line:i[1],column:null}}if(g){g.func||(g.func=s(g.url,g.line));var k=u(g.url,g.line),A=k?k[Math.floor(k.length/2)]:null;k&&A.replace(/^\s*/,"")===o[w+1].replace(/^\s*/,"")?g.context=k:g.context=[o[w+1]],h.push(g)}}return h.length?{mode:"multiline",name:e.name,message:o[0],stack:h}:null}function w(e,n,t,r){var o={url:n,line:t};if(o.url&&o.line){e.incomplete=!1,o.func||(o.func=s(o.url,o.line)),o.context||(o.context=u(o.url,o.line));var i=/ '([^']+)' /.exec(r);if(i&&(o.column=p(i[1],o.url,o.line)),e.stack.length>0&&e.stack[0].url===o.url){if(e.stack[0].line===o.line)return!1;if(!e.stack[0].line&&e.stack[0].func===o.func)return e.stack[0].line=o.line,e.stack[0].context=o.context,!1}return e.stack.unshift(o),e.partial=!0,!0}return e.incomplete=!0,!1}function g(e,n){for(var t,r,o,u=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,a=[],c={},f=!1,d=g.caller;d&&!f;d=d.caller)if(d!==v&&d!==i.report){if(r={url:null,func:l,args:[],line:null,column:null},d.name?r.func=d.name:(t=u.exec(d.toString()))&&(r.func=t[1]),"undefined"==typeof r.func)try{r.func=t.input.substring(0,t.input.indexOf("{"))}catch(e){}if(o=h(d)){r.url=o.url,r.line=o.line,r.func===l&&(r.func=s(r.url,r.line));var m=/ '([^']+)' /.exec(e.message||e.description);m&&(r.column=p(m[1],o.url,o.line))}c[""+d]?f=!0:c[""+d]=!0,a.push(r)}n&&a.splice(0,n);var y={mode:"callers",name:e.name,message:e.message,stack:a};return w(y,e.sourceURL||e.fileName,e.line||e.lineNumber,e.message||e.description),y}function v(e,n){var t=null;n=null==n?0:+n;try{if(t=m(e))return t}catch(e){if(j)throw e}try{if(t=d(e))return t}catch(e){if(j)throw e}try{if(t=y(e))return t}catch(e){if(j)throw e}try{if(t=g(e,n+1))return t}catch(e){if(j)throw e}return{mode:"failed"}}function b(e){e=1+(null==e?0:+e);try{throw new Error}catch(n){return v(n,e+1)}}var j=!1,x={};return v.augmentStackTraceWithInitialElement=w,v.guessFunctionName=s,v.gatherContext=u,v.ofCaller=b,v.getSource=t,v}(),i.extendToAsynchronousCallbacks=function(){var e=function(e){var t=n[e];n[e]=function(){var e=u.call(arguments),n=e[0];return"function"==typeof n&&(e[0]=i.wrap(n)),t.apply?t.apply(this,e):t(e[0],e[1])}};e("setTimeout"),e("setInterval")},i.remoteFetching||(i.remoteFetching=!0),i.collectWindowErrors||(i.collectWindowErrors=!0),(!i.linesOfContext||i.linesOfContext<1)&&(i.linesOfContext=11),void 0!==e&&e.exports&&n.module!==e?e.exports=i:"function"==typeof define&&define.amd?define("TraceKit",[],i):n.TraceKit=i}}("undefined"!=typeof window?window:global)},"./webpack-loaders/expose-loader/index.js?require!./shared/require-global.js":function(e,n,t){(function(n){e.exports=n.require=t("./shared/require-global.js")}).call(n,t("../../../lib/node_modules/webpack/buildin/global.js"))}});

This article includes a general overview of types of affiliates and agreements. Every business situation is unique, so be sure to get help from an attorney in preparing any affiliate agreement. There may be "gotcha" clauses or language that you may not have seen or included. For example, if you are the affiliate, check to see what percentage of ownership, if any, the other company has in your business.
×