--- title: "Place tags with anchor text" slug: "anchor-tagging-explained" updated: 2026-10-09T17:10:20Z published: 2026-10-09T17:10:20Z canonical: "help.quickbase.com/anchor-tagging-explained" --- > ## Documentation Index > Fetch the complete documentation index at: https://help.quickbase.com/llms.txt > Use this file to discover all available pages before exploring further. # Place tags with anchor text ## How anchor text works - An anchor is a piece of text in the document. You put that text in a tag's **Anchor String**, and JuicedSign places the tag where the text is. - JuicedSign finds every place the text appears, on every page, and puts a tag at each one. See [One tag, many places](/quickbase-extensions/docs/anchor-tagging-explained#repeating-tags). - The tag's top-left corner goes on the anchor's top-left corner, then moves by **X Offset** (right) and **Y Offset** (down). Offsets are in points: 72 points make an inch. Negative values move left and up. - Anchors work well for documents whose layout changes, like quotes and invoices, because the tags move with the text. For a fixed form, you can use **Page Number** with **X Position** and **Y Position** instead. See [Document tags](/quickbase-extensions/docs/document-tags#placement). ## Choose an anchor You can use text that's already in the document, or add special text just for JuicedSign. ### Text already in the document - For example, to collect a PO number next to the label *PO#*, add a Text tag with **Anchor String** `PO#` and **X Offset** `72`. The box appears about one inch to the right of the label. - To save what the recipient enters, put the field ID of your PO number field in **QBUpdatefid**. - Pick text that appears only where you want the tag. If the text appears elsewhere too, you get a tag there as well. ### Special text you hide - Add short, unusual text to your template where the tag should go, for example `/js1` for the first signer's signature and `/js2` for the second signer's. - Make the text the same color as the background, usually white. Recipients don't see it, but JuicedSign still finds it. - With offsets of 0, the tag covers the hidden text, so you don't need to work out offsets. - Don't use an anchor that is part of another anchor, like `/js1` and `/js10`. JuicedSign would find `/js1` inside `/js10` too. - If your template is built with Exact Forms Plus, XL Docs, or PDF Stamper, add the anchor text to the template like any other text. ### If the anchor isn't in the document - When you send, JuicedSign checks every anchor. If one isn't found, the agreement isn't created and you see *Anchor string not found…*. - For tags that only appear in some documents, check **Ignore if Not Present** on the tag. JuicedSign then skips the tag when its anchor is missing. ## One tag, many places Because JuicedSign places a tag at every match, one tag record can create many tags. This is useful for documents where you don't know how many there will be, like one per row of a sub-table. - For example, if every line of a quote needs the customer's initials, add the anchor `/ini1` to each line of the sub-table in your template. One Initials tag with **Anchor String** `/ini1` gives the recipient an Initials tag on every line. - In a Quickbase sub-table, add the anchor as a formula text field with the value `"/ini1"`. Make its font white and hide its column heading in the template. - Approve or Decline tags can't repeat: each recipient can have only one. ## Save entries back to sub-table records With repeating tags, the recipient can fill in a value on each line of a sub-table, and JuicedSign saves each value to that line's record in Quickbase. This works for Text, Number, Email, and Date tags. 1. **Add an anchor field to the sub-table.** In the child table, add a formula text field that combines the anchor, a few spaces, and the record ID between pipes: ``` "/js1" & "      " & "|" & [Record ID#] & "|" & "  " ``` For record 98, this shows `/js1      |98|`. JuicedSign reads the record ID just to the right of the anchor, so keep the spaces and both pipes. Put this field in the sub-table in your template, with a white font. 2. **Add a field to store the value.** In the child table, add the field that should receive what the recipient enters, for example a text field **Serial Number**. 3. **Add the tag.** In JuicedSign Recipient Tags, add one tag for the recipient: - **Anchor String**: `/js1` - **Type of Tag**: Text, Number, Email, or Date - **QBUpdatefid**: the child table's dbid, a colon, and the field ID from step 2, for example `bxxxxxxxx:9` - When the recipient finishes, JuicedSign saves each line's value to the matching child record. - If JuicedSign can't read a record ID next to an anchor, it doesn't place a tag there.