TNX Text Links Ads: How to automatically fill all your ad spots (including pages with 0 PR) and other tricks

TNX Corp allows you to place static ad links on pages of your site, so you can earn some profit. Unfortunately if you leave it to TNX system, automatic rate at which links are sold and paced on your site could be very slow. You can add links to your pages manually via TNX site interface, but it is only allowed if your page Google PageRank is above 0. Also manual placement can be really inconvenient and you cannot place more than 4 ad links.

Fortunately there is a solution. TNX has AJAX API in form of specific URL pages that are used for routine task like checking page PR, retrieving list of ads, or placing ads on a page. Calling these URLs directly will avoid limitation mentioned above and increase ad links placement speed. The most important API URLs are:

    Retrieves list of ad links. Passing instead of <nn> Link ID of your page that has 0-1 ads already placed will retrieve list of possible ads that can be placed on the page. Link ID can be retrieved from the list of pages indexed by TNX system
    Adds ad link to your page. Passing instead of <nn> Link ID of your page and instead of <aa> ID of ad link retrieved by the 1st link – will add that ad link to your page.

This way you don’t have to wait for TNX system to place links on your pages, you can add links to PR0 pages yourself and you’re not limited to adding just 4 links. Here is a small VB.NET application that automates most of your everyday TNX tasks including adding/removing ad links, checking pages PR etc.

If you’re a VB.NET developer you can expand and extend it, otherwise you can just use EXE inside of Bin/Release folder

25 replies on “TNX Text Links Ads: How to automatically fill all your ad spots (including pages with 0 PR) and other tricks”

  1. Unfortunately your soft doesn’t work, when i login-in into tnx system and trying to see my sites system log-out me.

  2. When i click on “add links to oll pages” I see alert ” unhandled exception has occured in yout application. If you click Continue, the application will ignore this error and attempt to continue.


    See the end of this message for details on invoking
    just-in-time (JIT) debugging instead of this dialog box.

    ************** Exception Text **************
    System.IO.FileNotFoundException: Could not load file or assembly ‘Microsoft.mshtml, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a’ or one of its dependencies. Nie można odnaleźć określonego pliku.
    File name: ‘Microsoft.mshtml, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a’
    at TNX.xfrmMain.GetLinkIDs()
    at TNX.xfrmMain.xbtAddLinksToAllPages_Click(Object sender, EventArgs e) in C:\Documents and Settings\ygalanter\My Documents\Visual Studio 2008\Projects\TNX\TNX\Form1.vb:line 118
    at System.Windows.Forms.Control.OnClick(EventArgs e)
    at System.Windows.Forms.Button.OnClick(EventArgs e)
    at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    at System.Windows.Forms.Control.WndProc(Message& m)
    at System.Windows.Forms.ButtonBase.WndProc(Message& m)
    at System.Windows.Forms.Button.WndProc(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

    WRN: Assembly binding logging is turned OFF.
    To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
    Note: There is some performance penalty associated with assembly bind failure logging.
    To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

    ************** Loaded Assemblies **************
    Assembly Version:
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
    Assembly Version:
    Win32 Version:
    CodeBase: file:///C:/Documents%20and%20Settings/MM/Pulpit/TNX_helper/TNX/bin/Release/TNX.exe
    Assembly Version:
    Win32 Version: 8.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/
    Assembly Version:
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/
    Assembly Version:
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/
    Assembly Version:
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/
    Assembly Version:
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/

    ************** JIT Debugging **************
    To enable just-in-time (JIT) debugging, the .config file for this
    application or computer (machine.config) must have the
    jitDebugging value set in the section.
    The application must also be compiled with debugging

    For example:

    When JIT debugging is enabled, any unhandled exception
    will be sent to the JIT debugger registered on the computer
    rather than be handled by this dialog box.

  3. How to install this file? Maybe you could write this tool in PHP language?

  4. @Marius
    Most likely it can be ported to PHP, but for now it’s a Windows executable you run from your PC.

    The basic steps are:

    1. You launch TNX.EXE and in its Web window login to your TNX Account.
    2. Also in the Web window, click “Sites” to go to your site list, and under the site you want to work with click “Manage advertisers”
    4. With list of your pages showing in Web window Click “Get Link IDs” to populate list of links
    5. In the list select row with “Number of Ad Links” 0 or 1. Clear all fields “Starting”, “+”, “*” and click button “Get Ads IDs” – this will populate list of advertisement links (as an alternative, don’t clear text fields, by manipulating those numbers you can get randomly generated list of advertisement links).
    6. Set “Max Ads to add” number (recommended no more than 4) and Pause between calls (100-200ms is ok).
    7. Click “Add Ads to all pages” button and watch your pages populate with ad links.

  5. Yes I know, I can login but when I click on “sites” system log-out me.

  6. @Marius
    This happened to me in a regular browser as well. Most likely site is in maintenance at that time and when I login later, it works

  7. OK, I see your software uses IE engine. I have enabled cookies and it works now but still I have problem with Microsoft.mshtml. I don’t know how to install it. Does it component of IE?
    I am use IE 6.0

  8. @Marius
    Yes it is using IE Engine for browsing. And Microsoft.mshtml.dll is usually a part of Windows, but if you’re missing it (or don’t have this version) download it from the link above.

    Unzip the Zip then in command prompt type:

    regsvr32 Microsoft.mshtml.dll

    This will install the DLL

  9. @BPT
    See the steps, described above:
    4. With list of your pages showing in Web window Click “Get Link IDs” to populate list of links

  10. Sorry I wasn’t more specific. I meant to ask how to determine the linkid without using your application. I appreciate the help.

  11. @BPT
    Oh, they’re within the source of the page, this is how the application locates them. With the list of your pages showing, look at HTML source of the page. Link ID appears several times per table row, for example in functions like _Delete…

  12. @BPT
    TNX.NET constantly evolves and the links may change. “members.*” links no longer works, since it’s an older interface. You should use “member.*”. If the link has changed – you can trace the new one by trying to add link manually thru TNX Web interface and tracing correct link with something like Fiddler. Also, the reason you were getting PHP warning is the “replacer” link can be used only if you’re logged in and your info is kept in session.

  13. I wasn’t able to trace the new link. Has anyone else been able to figure it out?

  14. It looks like TNX has prevented this from working. There is an error message that pops up in Russian when you try to add a link outside of their site.

  15. Could be. But currently, same message “This function can be used only in the same session” appears in internal trace if you try manual link placement for a PR1+ page inside their site and the link is not added. Maybe functionality is still broken and they’re working on it.

    I still use application to mass-recheck PR of pages, it helped me a lot, initially all pages were detected as PR0, and using the app many of them turned to correct rank.

  16. I was able to add a single link to a page with PR earlier today, but now it doesn’t seem to be working. Maybe it is still broken. I’d love to be able to add links to my PR0 pages manually.

  17. I was able to follow all your steps up to 7. Click “Add Ads to all pages” button and watch your pages populate with ad links.. The moment I click the button the following error pops up:

    System.ArgumentOutOfRangeException: Value of ‘1’ is not valid for ‘index’. ‘index’ should be between 0 and 0.

  18. @Gabrielle , thanks for trying the program. As you could see from the previous comments, it looks like TNX is currently working on this functionality (adding links currently doesn’t work even directly from their site and even for pages with PR). But still you shouldn’t have gotten this system error, as @BPT has mentioned, a message in Russian should pop up. What happens if you simple click “Add Ads”? Also – are the pages of selected site still showing in internal browser window when you click that button?

  19. Thanks Yuriy. Okay I did some screen caps. When I click “Add Ads to all pages” this is what I see: . The error dialog immediately pops up while the page doesn’t change.

    As for “Add Ads”, I see this . There is that Russian message which Google translates to “use of this function is permissible only in one stream”. Wow I wonder what that means!

  20. We will just have to wait until this service is fixed by TNX. Meanwhile I put together a short guide how to setup TNX with autoblogging. I know you already use TNX, but perhaps someone else could use it. Or perhaps you can setup autoblogs in addition to your main site.

  21. Thanks!! It was very helpfull, i’ll try it out with my quite own initial wp blog.

Leave a Reply

Your email address will not be published. Required fields are marked *